pthread_join跳过第一个帖子

时间:2011-02-17 19:25:56

标签: multithreading join pthreads

所以我有以下代码,其中一些代码被忽略了,所以它更容易理解。

for (unsigned int t = 0; t < NUM_THREADS; t++)
    {

        if (pthread_create(&threads[t], NULL, thread_run, (void*) &threadData) != 0)
        {
            perror("pthread_create");
        }//end if
    }

    for (unsigned int z = 0; z < NUM_THREADS; z++)
    {
        if (pthread_join(threads[z], NULL) != 0)
        {
            perror("pthread_join");
        }
    }

我的问题是连接函数,它正在跳过我创建的第一个线程,并继续。我目前的解决方案是添加一个额外的线程,而不是让第一个线程做任何工作。

为什么会发生这种情况的任何想法?

1 个答案:

答案 0 :(得分:1)

IMO没有pthreads问题;您只是创建NUM_THREADS + 1个帖子并且只加入其中的NUM_THREADS个帖子。