多线程编程中,将线程绑定到指定CPU
2012-08-10 16:20
197 查看
参考网络上的资料,具体出处忘了,亲测可以
在多核处理上,处理大数据业务时,有时为了对线程资源有更好的控制,需要将一些核心处理线程绑定到指定的CPU核上,pthread库就提供这样的接口。
大概封装了一下,在线程函数中调用就可以了
在多核处理上,处理大数据业务时,有时为了对线程资源有更好的控制,需要将一些核心处理线程绑定到指定的CPU核上,pthread库就提供这样的接口。
大概封装了一下,在线程函数中调用就可以了
int bind2cpu(int cpu_index) { cpu_set_t set; cpu_set_t get; int cpu_num = sysconf(_SC_NPROCESSORS_CONF); if(cpu_index >= cpu_num) return -1; CPU_ZERO(&set); CPU_SET(cpu_index, &set); if (pthread_setaffinity_np(pthread_self(), sizeof(set), &set) < 0) { perror( "set thread affinity failed"); return -2; } #if 1 CPU_ZERO(&get); if (pthread_getaffinity_np(pthread_self(), sizeof(get), &get) < 0) { perror("get thread affinity failed"); return -3; } int j; for (j = 0; j < cpu_num; j++) { if (CPU_ISSET(j, &get)) { printf("the thread is running in processor %d\n", j); } } #endif return 0; }
相关文章推荐
- linux线程绑定到指定cpu运行
- 设置cpu亲和性---即 绑定特定的进程线程到指定的cpu
- windows下绑定线程(进程)到指定的CPU核心
- 设置cpu亲和性---即 绑定特定的进程线程到指定的cpu
- Visual C++学习总结——进程或线程与指定CPU绑定
- windows下绑定线程(进程)到指定的CPU核心
- windows下绑定线程(进程)到指定CPU
- Linux_多核系统下绑定进程或线程到指定CPU_核执行
- LINUX将制定的线程号、进程号绑定到指定CPU核上
- Linux_多核系统下绑定进程或线程到指定CPU_核执行和调优
- C#线程绑定到指定cpu
- Linux_多核系统下绑定进程或线程到指定CPU_核执行
- windows下绑定线程(进程)到指定的CPU核心 http://blog.csdn.net/beyond_cn/article/details/15813361
- android将线程绑定在指定CPU
- windows下绑定线程(进程)到指定的CPU核心
- windows下绑定线程(进程)到指定的CPU核心
- 线程指定在指定CPU(核心)上执行
- 如何将一个进程(线程)绑定到一个固定的CPU核上?——004
- 在多CPU环境下将一个进程绑定到指定的一个CPU上[转]
- 绑定某process到指定CPU