c++ - Pthread_setaffinity_np 参数无效

标签 c++ c pthreads setthreadaffinitymask

我正在尝试更改启动例程中每个线程的亲和性。

这是代码。在下面的代码中,'t' 是通过 pthread_create 函数传递的参数。

    cpu_set_t mask;
    pthread_t c;

    a = *((int *)t);

    printf(" thread no. is %d \n",a);

    CPU_ZERO(&mask);

    a =a/2 + 1;

    CPU_SET(a,&mask);

    c=pthread_self();
    s=pthread_setaffinity_np(c,sizeof(cpu_set_t), &mask);
    if (s!=0)
        handle_error_en(s,"pthread_setaffinity_np");

线程关联没有改变。我哪里错了?

最佳答案

我误解了面具的界限。那就是我出错的地方。

关于c++ - Pthread_setaffinity_np 参数无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8886778/

相关文章:

c++ - float 最小值和最大值的数值限制

c++ - 防止派生类强制转换为基类

c++ - 如何在 OpenGL/C++ 中绘制一个居中的字符串?

c - 调整二维动态分配表大小时出现段错误

c++ - pthread sleep linux

c++ - 为新手创建一个 CMakeFiles.txt 文件

c - 尽管我的代码是正确的,但为什么它不起作用?

c - 符号常量的 "Type"?

c++ - 线程在 pthread_rwlock_t 中挂起

c++ - 将多个指针作为参数传递给 pthread_create