标签: java data-structures websocket synchronized
假设我的游戏服务器可以托管1M用户,这意味着我需要跟踪1M websocket连接,这样做的合适数据结构(或集合)是什么?处理同步问题的策略是什么?
在添加/删除/迭代集合时对集合进行同步。 - 它可能会遇到性能问题,
没有同步,添加新连接或删除现有连接(因为用户离线)时,可能无法迭代套接字(例如发送广播消息)
使用user1;user2;user3,当用户经常在线/离线时会增加GC负载
user1;user2;user3
答案 0 :(得分:1)
迭代读取数据时使用readLock,写入数据时使用writeLock。这就是t-io的播放方式。
readLock
writeLock