在NIO的线程实现中需要帮助

时间:2009-05-23 09:06:55

标签: java multithreading nio

我想创建NIOServer,它使用1个线程从客户端读取数据,并使用另一个线程将数据写入客户端。 也接受客户端连接将在其他一些线程中。

有没有在线帮助

由于 迪帕克

3 个答案:

答案 0 :(得分:1)

为什么要使用这么多线程,如果使用选择器和单个线程更轻松地完成所有操作? 如果你想要一个多线程的网络I / O方法,那么你应该考虑普通的旧的阻塞套接字。

顺便说一句,你可以用3个选择器完成所有这些:一个接受连接,一个读取和一个写入。当您接受连接时,您可以使用其他两个选择器注册该通道,并使用适当的兴趣操作。

当然,当您要释放频道时,您必须从两个选择器中取消SelectionKey(读取和写入)或关闭它。

答案 1 :(得分:0)

我建议你看一下示例代码,它来自sample / nio / server

下的JDK

答案 2 :(得分:0)

我建议你Apache Mina:非常灵活,高级抽象,高性能等。