请教线程问题?

我的main函数里有很多的线程, 这些线程要等待. 可是我只能在main函数中执行空循环等待其他线程完成, 否则主线程不等待其他线程结束就返回倒至线程不能执行.

除了空等带以外,有没有别的办法…

pthread_join() 用来等待一个线程结束。

把你所有的生成线程的tid记在一个数组里,然后:

for (i = 0; i < total_tid; i++)
    pthread_join(tid_array[i], NULL);

虽然线程结束的顺序可能不同,不过上面的循环结束后,可以保证所有的线程都结束了。