Java学习:多线程

一、知识体系 二、内存可见性问题 1.volatile对共享的数据进行修饰,会立刻把更新的数据存入内存,其他线程读取数据时,会读到内存中的新值。 synchronized和Lock也会保证可见性,但是他们是同一个时刻只能保证一个线程获取锁执行同步代码,释放锁之前把数据保存到内存中。但是,他们耗费资源,效果低。 2.由于volatile(1)不是互斥锁,(2)不能保证原子性操作。因此,引出了CAS算
相关文章
相关标签/搜索