Netty 4 WebSocket应用程序,线程,同步

时间:2013-03-26 04:20:45

标签: java netty

我正在处理一个websocket应用程序。 Here is the code for the Netty Handler.

在其中,websockets连接到一个长时间运行的线程,该线程收集它们并传回消息。

我的问题涉及同步。因此,当Netty应用程序向线程添加新的ctx时,我使用锁来同步列表的添加/删除/迭代。我不认为这种锁定有任何其他方法。

所以我的问题是有没有更好的方法来处理这种与线程的同步?

此外,执行此锁定是否存在任何主要的性能缺陷?这会导致什么样的问题?

1 个答案:

答案 0 :(得分:1)

我认为您想要使用的是组渠道的DefaultChannelGroup [1]并写入所有这些渠道。关于它的另一个很酷的事情是频道一旦关闭就会被自动删除。

[1] http://netty.io/4.0/api/io/netty/channel/group/DefaultChannelGroup.html