我正在处理一个websocket应用程序。 Here is the code for the Netty Handler.
在其中,websockets连接到一个长时间运行的线程,该线程收集它们并传回消息。
我的问题涉及同步。因此,当Netty应用程序向线程添加新的ctx时,我使用锁来同步列表的添加/删除/迭代。我不认为这种锁定有任何其他方法。
所以我的问题是有没有更好的方法来处理这种与线程的同步?
此外,执行此锁定是否存在任何主要的性能缺陷?这会导致什么样的问题?
答案 0 :(得分:1)
我认为您想要使用的是组渠道的DefaultChannelGroup [1]并写入所有这些渠道。关于它的另一个很酷的事情是频道一旦关闭就会被自动删除。
[1] http://netty.io/4.0/api/io/netty/channel/group/DefaultChannelGroup.html