为什么selector.select()和下面的注册会出现线程安全问题
来源:7-10 NIO服务器Thread优化-4
慕瓜2362174
2022-06-26
老师 为什么selector.select()和下面的注册会出现线程安全问题
写回答
1回答
-
selector.select()
内部会占用队列锁,然后去阻塞获取消息,直到有新消息到达;而注册或取消注册会更改队列,所以两个都需要操作到同一个锁,所以存在竞争问题。
022022-07-06
相似问题