摘要: 在多线程并发编程中synchronized是元老级的角色,人多称重量级锁。 synchronized实现同步的基础:Java中的每一个对象都可以作为锁。具体表现有如下3种: 1.对于普通同步方法,锁时当前实例对象 2.对于静态同步方法,锁时当前类的Class对象 3.对于同步方法块,锁是synchr 阅读全文
posted @ 2016-08-09 22:50 悬崖边上 阅读(133) 评论(0) 推荐(0) 编辑
摘要: Java语言规范第三版中对volatile的定义如下: Java编程语言允许线程访问共享变量,为了确保共享变量能被准确和一致性的更新,线程应该确保通过排他锁 单独获得这个变量。 volatile有时候比锁更加方便,比如一个字段被声明成volatile,Java线程内存模型确保所有线程看到这个变量的 阅读全文
posted @ 2016-08-09 07:46 悬崖边上 阅读(172) 评论(0) 推荐(0) 编辑