2012-11-28 18 views
1

我正在尝试改进我对使用TSimpleServer设置节俭服务器的基本理解。主要关于启动/停止。TSimpleServer .serve()如何工作?

我正在使用TSimpleServer,我明白这是简单的单线程服务器主要用于分解。我在这里的直接问题是这里的单线程意味着:

a。)调用TSimpleServer产生一个线程,一次只能处理1个客户端连接,但同时返回执行回主程序调用.serve继续?
或 b。)调用TSimpleServer.serve()块直到服务器停止。

如果b。),停止服务器的机制是什么?我研究过的大部分内容都建议从不同的线程停止服务器,然后启动它的服务器将导致崩溃。 (见:Stopping a Thrift server(TSimpleServer))。那对我来说意味着a。)是上面的正确答案,否则在某处存在循环逻辑?

编辑:我已经设法说服自己,它实际上是b。但问题仍然在上面引用的帖子中给出,即使我生成一个新线程来启动它,并且该线程阻塞,我该如何阻止它?使用不同的线程似乎不是从上面提到的后

回答

0

thrift API documentation(Java)的答案,你可以阅读:

停止服务器。这在每个实施的基础上是可选的。并不是所有的服务器都需要干净地停下来。

TSimpleServer用于测试。那么,是否有可能没有干净的做法?