1

我正在努力提高我对使用 TSimpleServer 设置节俭服务器的基本理解。主要是关于启动/停止。

我正在使用 TSimpleServer,我理解它是简单的单线程服务器,主要用于调试。我的直接问题是这里的单线程是否意味着:

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

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

编辑:我设法说服自己实际上是b。但是问题仍然存在于上面引用的帖子中,即使我产生一个新线程来启动它,并且该线程阻塞,我该如何停止它?使用不同的线程似乎不是上述引用帖子的答案

4

1 回答 1

0

thrift API 文档(Java) 上,您可以阅读:

停止服务器。这在每个实现的基础上是可选的。并非所有服务器都必须完全可停止。

TSimpleServer 用于测试。那么,有没有可能没有干净的方法呢?

于 2013-05-14T16:28:50.033 回答