猫头鹰的深夜翻译:核心JAVA并发(二)

2018-02-13
阅读 8 分钟
1.7k
发布一个对象是指该对象的引用对当前的域之外也可见(比如,从getter方法中获取一个引用)。要确保一个对象被安全的发布(即在初始化完成之后发布),可能需要使用同步。可以通过以下方法实现安全的发布:

猫头鹰的深夜翻译:核心JAVA并发(一)

2018-02-13
阅读 6 分钟
2.3k
当多个线程在一个共享的资源上执行一组操作时,会产生竞争。根据各个线程执行操作的顺序可能产生多个不同结果。下面的代码不是线程安全的,value可能会被初始化多次,因为check-then-act型(先判断是否为null,然后初始化)的惰性初始化并非原子性操作。