我有一个具有10个连接的固定池的客户端实现。使用no-arg构造函数实例化NIOEventloop组。我观察到这实际上是在创建8个线程(默认情况下)。现在,我可以在我的日志中看到,我的10个通道中的每一个都在重用线程。两个线程似乎分别服务于两个通道,另外6个通道似乎有自己的专用线程。现在,如果我使用带10个线程的eventloop组构造函数,它能保证每个通道都有自己的线程吗?我认为一个专门的线程是好的,但也不是很确定。请告诉我最好的做法是什么
发布于 2019-01-31 17:27:55
使用默认实现是的(但这实际上是一个实施细节)。也就是说,这在一定程度上违背了非阻塞IO的观点,在非阻塞IO中,通常每个EventLoop处理多个连接,每个线程处理多个连接。只要你不阻塞在EventLoop线程中,你应该可以很容易地在一个线程中处理数千个连接。
https://stackoverflow.com/questions/54451240
复制相似问题