我从一个线程开始TNonblockingServer:如何停止在C++节俭TNonblockingServer?
void *start_server(void *) {
server->serve();
return NULL;
}
pthread_create(&daemon_thread, NULL, start_server, NULL);
,并调用从主线程server->stop()
,然后尝试使用pthread_join
等待后台线程退出正常。但主线程挂在pthread_join
呼叫。
如何优雅地关闭节俭服务器?
这是一种预期,主线程“挂起“,而等待另一个线程终止。它是否正确地做到了,作为停止命令的回应? – 2011-04-16 07:41:51
我期望的是,当我从主线程调用server-> stop()时,后台线程中的server-> serve()将完成,以便此线程可以退出。因此,在主线程中使用pthread_join来等待这个后台线程“start_server()”退出..但是“pthread_join()”会永远挂起* – eddyxu 2011-04-16 09:34:18