美文网首页
线程安全

线程安全

作者: lqsss | 来源:发表于2018-04-21 10:54 被阅读0次

    线程安全

    在多线程的环境下,没有表现出我们预期的行为,所以称它为线程不安全

    线程不安全的例子

    预期的行为?我们几个例子解释一下

    1. 单例模式-懒汉模式
      懒汉模式下,在判断是否创建出静态单例对象时,线程交叉交换,多个线程可能都判断出此时并未创建出单例对象,导致创建出了多个对象,而非单例

    2. 单例模式-懒汉模式double-check
      虽然用了synchronized(singleton.class)同步代码块,但是创建对象的过程非原子操作,导致创建了不完整的对象。volatile修饰单例对象

    3. 多线程count++
      两个线程同时对初始值为0的count变量做++操作,预期希望count = 2,两个线程读取count(0)的值到本地内存中,结果count = 1

    相关文章

      网友评论

          本文标题:线程安全

          本文链接:https://www.haomeiwen.com/subject/qkatlftx.html