线程与内核绑定
来源:互联网 发布:mac os x 10.11.6 dmg 编辑:程序博客网 时间:2024/05/22 10:50
多内核主机上,创建了多个线程,可以把线程绑定到指定的内核上。
这样可以充分发挥多个内核的性能优势,减少上下文切换。
线程与内核绑定方法:
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 查看端口号
阅读全文
0 0
- 线程与内核绑定
- 内核线程绑定CPU
- 内核线程与用户线程
- 内核线程与用户线程
- 内核线程与用户线程
- 内核线程与用户线程
- Java线程与内核线程
- 进程线程与cpu绑定
- 线程与cpu进行绑定
- session与本地线程绑定
- 内核线程创建与销毁
- linux内核--进程与线程
- linux内核--进程与线程
- 用户态线程与内核态线程
- 内核线程与用户线程的区别
- 用户级线程与内核级线程
- 用户级线程与内核级线程
- OS中的内核线程与用户线程
- C#高级篇 7
- ReentrantLock源码之二unlock方法解析(锁的释放)
- 代理模式
- [Leetcode] 253. Meeting Rooms II 解题报告
- React Native 用法介绍
- 线程与内核绑定
- 游戏编程入门(10):播放数字声音效果
- android验证通用类
- mysql实现分组排序
- TensorFlow学习---实现mnist手写数字识别
- VC 屏蔽Alt组合键
- vs2012 提示 未能正确加载 "Visual C++ Language Manager Package
- 为什么说DOM操作很慢
- 双系统(Windows+ubuntu)下如何给Ubuntu系统增加磁盘空间