手动进程线程调度

lvfeihi 2015-01-16 10:22:32
请问POSIX中如何手动调度进程和线程?

就是手动将进程或者线程映射到相应的处理核上去。

具体如何调度,使用哪个API里的哪个参数?


麻烦各位。
...全文
308 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
LoganINTC 2015-01-20
  • 打赏
  • 举报
回复
Windows核心编程中用SetThreadAffinityMask比较多: 若要将3个线程限制到CPU 1、2和3上去运行,可以这样操作: //线程0只能在cpu 0上运行 SetThreadAffinityMask(hThread0,0x00000001); //线程1,2,3只能在cpu 1,2,3上运行 SetThreadAffinityMask(hThread1,0x0000000E); SetThreadAffinityMask(hThread2,0x0000000E); SetThreadAffinityMask(hThread3,0x0000000E); 用Pthread库的话 int pthread_attr_setaffinity_np(pthread_attr_t *attr, size_t cpusetsize, const cpu_set_t *cpuset); 返回值:若是成功返回0,否则返回错误的编号 形 参: attr 指向一个线程属性的指针 cpusetsize 指向CPU组的缓冲区大小 cpuset 指向CPU组的指针 说 明:通过指定cupset来设置线程的CPU亲缘性 头文件:#include <pthread.h> Best, Logan http://software.intel.com/en-us/forums/

567

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧