浅谈synchronized和volatitle实现线程安全的策略 (2)

synchronized是一个重量级的锁,可以用在代码块、普通方法以及静态方法上。用在代码块时锁就是synchronized(~)内的对象,用在普通方法时锁就是this,用在静态方法时锁就是this.getClass()

synchronized保证同步块内代码的原子性,因为要进行线程上下文切换,性能较低。不过优化过后性能也还可以。

参考

深入浅出Java多线程

Java并发编程之美

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsppgz.html