线程安全(java)

来源:互联网 发布:windows hadoop 2.7.0 编辑:程序博客网 时间:2024/04/28 06:02

线程安全这里不做多说。

线程安全的实现方法

  1. 互斥同步
    大并发下,性能有问题,比较简单粗暴,属于排他式独占的悲观锁

  2. 非阻塞同步
    可以理解为乐观锁,比如CAS指令。

  3. 无同步方案
    尽量创建条件避免线程安全问题的发生。
    1.可重入代码:可以参考幂等性来理解
    2.线程本地存储:考虑数据即使是共享的,但是这块数据是保证在同一个线程中执行的话,那么就可见性就限制到一个线程里面,这样就不用多线程争用,比如ThreadLocal.

参考《深入理解java虚拟机》

0 0