概述
多内核主机上,创建了多个线程,可以把线程绑定到指定的内核上。
这样可以充分发挥多个内核的性能优势,减少上下文切换。
线程与内核绑定方法:
1、头文件
#include <sys/sysinfo.h>
#include <pthread.h>
2、绑定
1)获取cpu内核数目
int cpu_num = get_nprocs();
2)创建多个线程
pthread_t thread_id;
pthread_create(&thread_id, NULL, threadFunc, NULL);
2)根据内核索引号绑定线程,内核索引号cpu_index(从0到cpu_num)
cpu_set_t mask;
CPU_ZERO(&mask);
CPU_SET(cpu_index, &mask);
pthread_setaffinity_np(thread_id, sizeof(mask), &mask) ;
3)获取线程绑定的内核索引号,判断是否绑定成功
CPU_ZERO(&mask);
pthread_getaffinity_np(thread_id, sizeof(mask), &mask);
CPU_ISSET(cpu_index, &mask);
netstat –apn | grep 8080 查看端口号
最后
以上就是矮小小熊猫为你收集整理的线程与内核绑定的全部内容,希望文章能够帮你解决线程与内核绑定所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复