在C ++的两个不同的内核中创build两个线程

我读了一些关于这个问题的文章。 这个案子似乎并不容易。 我想在两个核心中创build两个不同的线程。 我读的文章太复杂了。 我甚至无法根据这些文章创build一个简单的线程。 另一方面,我需要了解计算机必须具备多less内核,才能在一个内核上使用内核或只创build线程。 我想在窗户上做。 任何帮助将非常欢迎

PS:我不是在C + +亲。 所以如果有可能,请指导我更简单的方法。

Solutions Collecting From Web of "在C ++的两个不同的内核中创build两个线程"

虽然这通常是一个糟糕的主意(线程调度程序通常自己做得更好),但基本的想法是:

HANDLE thread_a = CreateThread(/* ... */); HANDLE thread_b = CreateThread(/* ... */); SetThreadAffinityMask(thread_a, 1 << 0); SetThreadAffinityMask(thread_b, 1 << 1); 

请注意, 1<<01<<1可以简单地分别写为12 – 我只是试图明确每个位的位置代表一个处理器的事实。

对于posix,请查看pthread_getaffinity_nppthread_setaffinity_np