我正在努力提高我对如何使用TSimpleServer设置thrift服务器的基础理解。主要是关于开始/停止。
我正在使用TSimpleServer,据我所知,这是一个简单的单线程服务器,主要用于解除验证。我在这里的直接问题是单线程的意思是:
a。)调用TSimpleServer会产生一个线程,一次只能处理1个客户端连接,但同时将执行返回给主程序调用.serve继续吗?
要么
b。)调用TSimpleServer.serve()阻塞,直到服务器停止。
如果b。),停止服务器的机制是什么?我研究过的大部分内容都建议从不同的线程中停止服务器,然后启动它的服务器会导致崩溃。 (见:Stopping a Thrift server(TSimpleServer))。这对我来说意味着一个。)上面是正确的答案,否则在某处有循环逻辑?
编辑:我已经设法说服自己它实际上是b。但问题仍然是上面提到的帖子,即使我生成一个新线程来启动它,并且该线程阻塞,我该如何阻止它?使用不同的主题似乎不是上面提到的帖子
的答案答案 0 :(得分:0)
在thrift API documentation(Java)上,您可以阅读:
停止服务器。这在每个实现的基础上是可选的。并非所有服务器都必须完全可以停止。
TSimpleServer用于测试。那么,有可能没有干净的方法吗?