Map的get方法应该不会抛异常吧?
来源:7-11 NIO服务器Thread优化-5
宝儿姐_
2019-10-21
private static void handleSelection(SelectionKey key, int keyOps,
HashMap<SelectionKey, Runnable> map,
ExecutorService pool) {
// 重点
// 取消继续对keyOps的监听
key.interestOps(key.readyOps() & ~keyOps);
Runnable runnable = null;
try {
runnable = map.get(key);
} catch (Exception ignored) {
}
if (runnable != null && !pool.isShutdown()) {
// 异步调度
pool.execute(runnable);
}
}
写回答
1回答
-
Qiujuer
2019-10-22
当初做压测的时候出现过异常,似乎是因为多线程竞争导致的问题。后来规范化线程后应该是解决好了。
或者也可以换成线程安全的Map即可。
00
相似问题