gpt4 book ai didi

c - MacOS : Scheduler affinity seems not to work

转载 作者:行者123 更新时间:2023-11-30 17:02:38 24 4
gpt4 key购买 nike

我尝试遵循 this 中的建议博客,看起来,即使我将 CPU 设置为 MacOS 的仅一个核心,每次也会涉及多个线程。是否有可能使线程仅在此类操作系统上的一个处理器中运行?提前致谢。

void *th_func(void *arg);

pthread_t thread; //the thread
int counted = 0;

void start() {
int* n = (int*)malloc(sizeof(int));
*n = 0;
printf("creating on %d.\n",n[0]);
pthread_create(&thread,NULL,th_func,((void*) n));
}

void waitall() {
pthread_join(thread,NULL);
}

int main(int argc, char** args) {
start();
waitall();
return 0;
}


void *th_func(void *arg)
{
cpu_set_t cpuset;
int cpu = ((int*)arg)[0];
CPU_ZERO(&cpuset);
CPU_SET( cpu , &cpuset);
pthread_setaffinity_np(pthread_self(), sizeof(cpuset), &cpuset);
printf("Start suffocating on %d.\n",cpu);
while(1) {

};
}

enter image description here

最佳答案

这个问题看起来与 Is it possible to set pthread CPU affinity in OS X? 非常相似;我相信那里的答案也回答了这里的问题。

关于c - MacOS : Scheduler affinity seems not to work,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36505111/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com