我从一个线程启动一个 TNonblockingServer:
void *start_server(void *) {
server->serve();
return NULL;
}
pthread_create(&daemon_thread, NULL, start_server, NULL);
,并从主线程调用server->stop()
,然后尝试使用pthread_join
等待后台线程正常退出。然而,主线程在 pthread_join
调用时挂起。
如何优雅地关闭 thrift 服务器?
最佳答案
抱歉回复晚了
你只需要停止底层的 libevent
例如,稍微延迟的停止:
tv.tv_usec = 500000;
tv.tv_sec = 0;
event_base_loopexit(myTNonBlockSvr->getEventBase(), &tv);
关于c++ - 如何在 C++ 中停止 Thrift TNonblockingServer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5685093/