摘要: 当线程用synchronize锁的时候,可以保证线程是具有原子性 可见性 有序性的。原子性,表现为每个可以单独操作,不互相依赖,在线程中表现为每个线程都有所以它自己的一份copy值,不定期的刷新到主内存。(如果有锁,ulock时刷新到主内存)而volatile变量不具有原子性,每次读写都是自己去主内存读主内存的值,也真是由于此种原因不能进行计数器操作,例如:volatile i =1;线程A,线程B 同时 i++;i++ 即i=i; //从主内存中读 1i+1; //通过获取的值。计算 2i=i+1; //把计算的值写入主内存中 3当线程执行顺序如下时 A1 – >B1—>A2—& 阅读全文
posted @ 2013-03-12 00:45 何锦彬 阅读(4922) 评论(0) 推荐(1) 编辑