是的,您可以使用pthread_join()(请参阅其他答案,了解如何执行此操作).但是,让我解释一下pthread模型并向您展示另一种选择.
在Unix中,当主线程从main返回时,当任何线程调用exit()或最后一个线程调用pthread_exit()时,进程退出.基于最后一个选项,您可以简单地让主线程调用pthread_exit(),只要至少再运行一个线程,该进程就会保持活动状态.
是的,这样做是使用pthread_join
函数:假设您的线程处于"可连接"状态.
pthread_create
:在此函数返回控制之后,您的线程将执行您的线程函数.
之后pthread_create
,使用pthread_create中的tid来pthread__join
.
如果您的线程已分离,则必须使用其他一些技术,例如共享变量,等待信号,共享队列等.
这里有很好的参考资料.