我正在努力提高我对使用 TSimpleServer 设置节俭服务器的基本理解。主要是关于启动/停止。
我正在使用 TSimpleServer,我理解它是简单的单线程服务器,主要用于调试。我的直接问题是这里的单线程是否意味着:
a.) 调用 TSimpleServer 会生成一个线程,该线程一次只能处理 1 个客户端连接,但同时将执行返回给调用 .serve 的主程序以继续?
或 b.) 调用 TSimpleServer.serve() 阻塞,直到服务器停止。
如果 b.),停止服务器的机制是什么?我研究过的大部分内容都建议从不同的线程停止服务器,然后启动它的线程会导致崩溃。(请参阅:停止 Thrift 服务器(TSimpleServer))。这对我来说意味着a。)是上面的正确答案,否则某处有循环逻辑?
编辑:我设法说服自己实际上是b。但是问题仍然存在于上面引用的帖子中,即使我产生一个新线程来启动它,并且该线程阻塞,我该如何停止它?使用不同的线程似乎不是上述引用帖子的答案