Netty 4,将当前线程用于 HTTP 客户端
Netty 4, use the current thread for an HTTP client
我想使用 Netty 4 编写一个不需要创建任何额外线程的 HTTP 客户端。
我从 HttpSnoopClient 开始工作并尝试替换:
EventLoopGroup group = new NioEventLoopGroup();
与:
EventLoopGroup group = new NioEventLoopGroup(1, new Executor() {
public void execute(Runnable command) {
command.run();
}
});
但程序挂起:
ChannelFuture f = bootstrap.connect(host, port);
Netty in Action 一书没有提到这种可能性,但我有一些希望(在这里和那里设置适当的回调或侦听器......)。现在我想知道是否有可能。
提前感谢您的任何提示。
不,这是不可能的,因为线程将用于阻塞选择器,因此您至少需要一个额外的线程。
我想使用 Netty 4 编写一个不需要创建任何额外线程的 HTTP 客户端。
我从 HttpSnoopClient 开始工作并尝试替换:
EventLoopGroup group = new NioEventLoopGroup();
与:
EventLoopGroup group = new NioEventLoopGroup(1, new Executor() {
public void execute(Runnable command) {
command.run();
}
});
但程序挂起:
ChannelFuture f = bootstrap.connect(host, port);
Netty in Action 一书没有提到这种可能性,但我有一些希望(在这里和那里设置适当的回调或侦听器......)。现在我想知道是否有可能。
提前感谢您的任何提示。
不,这是不可能的,因为线程将用于阻塞选择器,因此您至少需要一个额外的线程。