还是由操作系统控制?我听说 Google 的新 Go 语言具有内置功能,可供程序员进行精细操作,还是我理解错了?
对于 Linux 操作系统,sched_setaffinity是你的答案。从 Linux 内核 2.5.8 开始支持它。
Name
sched_setaffinity, sched_getaffinity — 设置和获取进程的 CPU 亲和性掩码
#define _GNU_SOURCE
#include <sched.h>
int sched_setaffinity( pid_t pid,
size_t cpusetsize,
cpu_set_t *mask);
int sched_getaffinity( pid_t pid,
size_t cpusetsize,
cpu_set_t *mask);
亲和掩模实际上是一个
每个线程的属性可以是
为每个独立调整
线程组中的线程。价值
从 gettid(2) 调用返回可以
在参数 pid 中传递。
将 pid 指定为 0 将设置
调用线程的属性,以及
传递调用返回的值
getpid(2) 将设置属性
对于线程的主线程
团体。 (如果您使用的是 POSIX
线程API,然后使用
pthread_setaffinity_np(3) 而不是
sched_setaffinity()。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)