请问在init方法中添加Options和Attrs的代码为什么要用synchronized
来源:3-3 服务端Channel的初始化

慕沐4323715
2021-07-25
我感觉init方法不会被多线程并发调用啊 为什么要加锁那 求解
写回答
1回答
-
闪电侠
2021-08-08
Options 和 Attrs 也可能会在其他地方被用到,比如,用户可以调用 ServerBootstrap.childOption(),就会有并发问题,大多数情况下,不加锁也是没啥问题的;
这类算是通用的问题,可以通过查找变量在哪个地方调用,如果这个调用方法是 public 的,说明可能会在用户代码里被调用,那么如果这个变量不是线程安全的,就要加 synchronized 来粗暴地解决并发问题
00
相似问题