[求助]关于多线程编程,main结束后其他线程

刚学多线程编程,许多问题不清楚。我按照帮助例子写了一个有thread detach的程序,然后在线程中加入了一个比主线程等待时间更长的sleep()后再printf()一个提示,可是发现例子中除了主线程外其他线程都是分别运行完毕后才运行别的线程,并不会象一些LINUX文章中所说的线程会交替运行,而且主线程运行后就会关闭整个程序,除非采用
pthread_barrier_t才能使主线程在所有的线程结束后结束,如果是这样thread attr 为detach state有什么意义呢?
thx in advance!

需要通过线程同步技术来实现

可能是我表达得不清楚吧。我想说的是thread attr为pthread_create_detached时,是不是说可以脱离主线程运行,也就是说在主线程结束后它仍可独立运行?
另一方面,不同的线程运行为什么不是交替进行而是顺序进行呢?

pthread_detach()使别的线程不能再pthread_join()。其它的要具体看你的程序才能说明现象。