c++ - 如何在不同的内核上运行不同的线程?

标签 c++ multithreading pthreads

<分区>

Possible Duplicate:
how to set CPU affinity of a particular pthread?

我正在编写一个 c++ 程序,在 Ubuntu 中使用 g++ 编译器。我的程序有 4 个线程,CPU 有 4 个内核。我想确保每个线程都将在不同的核心上运行。我很少熟悉 pthread。

最佳答案

不要这样做。让系统调度线程。如果您将线程关联到不同的内核,您只会妨碍调度程序。当您的应用是唯一一个消耗 CPU 的应用时,调度程序自然会将每个线程调度到单独的内核上。

关于c++ - 如何在不同的内核上运行不同的线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7544847/

相关文章:

安卓 NDK 和 C++ STL

c++ - 整数输入仅限于四位数字

c - 线程间setjmp/longjmp处理超时

c++ - Pthread_setaffinity_np 参数无效

c++ - 使用 Eigen 的 3D 位置卡尔曼滤波器实现

c++ - 使用指向类的指针分配错误

java - Java 中的条件如何知道要触发哪个线程?

multithreading - 互斥体所有权是否严格地仅传递给在解锁之前请求锁定的线程?

c - pthread_create() 的参数 4 出现段错误

c - 我将如何使用 pthreads 使这个 udpclient 异步?