主线程和子线程之间的一些东西

主线程 是随着进程的创建而创建的,传入的参数是main里面的参数;而子线程是调用pthrea_create来创建的。


主线程的结束,意味着整个进程的结束,所有的其他线程都会退出。当然也可以有有办法在主线程退出的时候,其他线程还继续运行,就是主线程用pthread_exit退出,而不是return,这样其他线程还会运行,但这个进程就变成了僵死进程,直到所有的线程都运行结束,但这里需要注意的一点就是主线程要等待足够长的时间让其它线程有机会运行起来,如果主线程退得太快其他线程根本就没有时间运行起来。


主线程一般会调用pthread_join 来等待其他线程的结束,并清理资源,并可以知道其他线程是否运行结束了,当然pthread_join的线程必须是joinable的,不能是detach的,而且一个线程只能配pthread_join一次。

你可能感兴趣的:(Linux,Programming)