作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
以下是我如何实现thrift
服务器,但在serve()
调用后它不会返回到主Therad。
public class ThriftServerRunner implements Runnable {
private int thriftServerPort;
public ThriftServerRunner(int thriftServerPort, LogWriter logWriter) {
this.thriftServerPort = thriftServerPort;
}
@Override
public void run() {
try {
SetupThriftServer();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private void SetupThriftServer() throws Exception {
try {
TServerSocket serverTransport = new TServerSocket(this.thriftServerPort);
ThriftService.Processor<ThriftService.Iface> processor = new ThriftService.Processor(new ThriftServiceImpl());
TServer server = new TThreadPoolServer(new TThreadPoolServer.Args(serverTransport).processor(processor));
server.serve();
} catch (TTransportException e) {
e.printStackTrace();
}
}
}
最佳答案
您确实调用 start()
来启动线程(这将创建一个新线程,然后从这个新线程调用对象 run()
函数),并且不是 run()
(它只会从您当前所在的同一线程运行 run()
),对吗?
serve()
并不意味着返回,除非您停止服务器(从另一个线程)。
关于java - Thrift TServer 服务不返回主线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15438155/
有人可以向我澄清主线 DHT 规范中的声明吗? Upon inserting the first node into its routing table and when starting up th
我正在尝试使用 USB 小工具驱动程序使嵌入式设备作为 MTP 设备工作。 我知道 Android 从大容量存储设备切换到 MTP 设备已经有一段时间了,并且找到了 source code for M
我是一名优秀的程序员,十分优秀!