【问题标题】:Netty 4 WebSocket App, Threads, SynchronizationNetty 4 WebSocket 应用程序、线程、同步
【发布时间】:2013-03-26 13:32:24
【问题描述】:

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

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

我的问题与同步有关。因此,当 Netty 应用程序向线程添加新的 ctx 时,我使用锁来同步列表的添加/删除/迭代。我认为没有其他方法可以解决此锁定问题。

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

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

【问题讨论】:

    标签: java netty


    【解决方案1】:

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

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

    【讨论】:

    • 顺便说一句,netty 是使用 epoll 还是 libevent 还是?
    • 谢谢诺曼!这正是我想要的。我将在 Threaded 应用程序和连接之间使用它。
    • @user1361315 它通过 Java NIO API 使用 epoll。
    猜你喜欢
    • 1970-01-01
    • 2014-01-11
    • 2011-07-16
    • 1970-01-01
    • 1970-01-01
    • 2015-11-24
    • 1970-01-01
    • 1970-01-01
    • 2015-02-06
    相关资源
    最近更新 更多