目录
大家好,我是哪吒。
上一章提到了i++的线程安全问题,最终方案是在两个方法上添加synchronized关键字,从而避免i++的线程安全问题,不过,这样真的好吗?在所有有线程安全的方法都添加synchronized?
答案是显而易见的,不行。
synchronized会极大的降低程序的性能,导致整个程序几乎只能支持单线程操作,性能显著降低。
那么,如何解决呢?
一、降低锁的粒度,将synchronized关键字不放在方法上了,改为synchronized代码块。
锁的粒度更小了,也解决了这个问题,确实可以的。
package