适当分散Pthreads

时间:2015-11-05 15:30:52

标签: c pthreads

我正试图让PTHREADS分别在每个CORE上运行。

我有我的代码:

#include <stdio.h>
#include <pthread.h>

int LOOP;

pthread_barrier_t barrier;

void *thread(){
    int i=0;
    int count =0;
    pthread_barrier_wait(&barrier);
    for (; i<LOOP; i++)
        count++;
    pthread_barrier_wait(&barrier);

    return NULL;
}

int main(int argc, char* argv[])
{
    int nthreads = atoi(argv[1]);
    int i;
    LOOP = atoi(argv[2]);
    pthread_t threads[nthreads];
    pthread_barrier_init(&barrier, NULL, nthreads);
    for (i=1; i < nthreads; i++)
        pthread_create(&(threads[i]), NULL, thread, NULL);

    thread();
    return 0;
}

但在分析时,我看到线程在同一个Core上运行。

我正在使用Linux。是否存在我忘记设置的环境设置?

谢谢, 阿里克

0 个答案:

没有答案