摘要: 对于final域,编译器和处理器要遵守两个重排序规则:在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用变量,这两个操作之间不能重排序。 初次读一个包含final域的对象的引用,与随后初次读这个final域,这两个操作之间不能重排序。下面... 阅读全文
posted @ 2017-04-09 08:43 john8169 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 1. 可重入锁当一个线程重新获取锁,读写锁或其他不可重入的同步器时,就可能发生重入锁死。可重入的意思是线程可以重复获得它已经持有的锁。Java的synchronized块是可重入的。因此下面的代码是没问题的:(这里提到的锁都是指的不可重入的锁实现,并不是Java类库中... 阅读全文
posted @ 2017-04-09 08:35 john8169 阅读(127) 评论(0) 推荐(0) 编辑