检查线程是否返回的方法?

时间:2013-07-23 06:41:45

标签: c multithreading pthreads status

我的主程序(所有c代码)将服务器函数作为单独的线程(pthread_create)启动。 此函数等待传入输入并使用它执行某些操作。与此同时,主程序也一直在做(主程序不会等待服务器功能在继续之前完成其工作)。

现在服务器功能可能发生错误(套接字问题,...)。然后,服务器功能返回某个值(例如“-1”)。 如果是这种情况,我想中止整个程序的执行。

我该如何处理?

我唯一的想法是启动第二个线程,该线程不断验证服务器线程在发生错误时更改的全局变量。然后第二个线程处理程序堕胎。

我还有其他选择吗?

亲切的问候

1 个答案:

答案 0 :(得分:0)

您可以使用pthread_join等待父线程中子线程的终止。 或者pthread_cond_wait来实现类似的东西。