当前位置: 技术问答>linux和unix
Linux的线程库pthread是否有"亲缘性"的概念?
来源: 互联网 发布时间:2016-11-06
本文导语: 如题,windows下的线程有和cpu之间的亲缘性概念,例如让某个线程运行在某个cpu之上,包括资源占用等等。 pthread里面有这个概念么,有的话,叫什么? 谢谢 | LINUX下可以使用pthread库提供的pthread_attr_setaffin...
如题,windows下的线程有和cpu之间的亲缘性概念,例如让某个线程运行在某个cpu之上,包括资源占用等等。
pthread里面有这个概念么,有的话,叫什么?
谢谢
pthread里面有这个概念么,有的话,叫什么?
谢谢
|
LINUX下可以使用pthread库提供的pthread_attr_setaffinity_np()设置线程亲缘性,理论上可以将某线程绑定在某CPU上执行。
|
参考http://blog.chinaunix.net/u4/120880/showart_2380539.html
|
cpu_set_t mask;
CPU_ZERO((cpu_set_t *)&mask);
CPU_SET(pThis->m_nBindCpuId, (cpu_set_t *)&mask);
sched_setaffinity(0, (UINT32)sizeof(mask), (cpu_set_t *)&mask);
CPU_ZERO((cpu_set_t *)&mask);
CPU_SET(pThis->m_nBindCpuId, (cpu_set_t *)&mask);
sched_setaffinity(0, (UINT32)sizeof(mask), (cpu_set_t *)&mask);