java并发----并发机制的底层实现原理

主要包括Sync,原子类,lock类。还有volatile 但是并不算是限制同步的操作。

volatile

轻量级的synchronized,保证了共享变量的可见性。可见性的意思是当一个线程修改了共享变量,另一个线程可以读到这个修改值。执行成本低于sync,因为不会引起上下文的切换。、

Synchronized

元老级的锁。

java的每个对象都可以作为锁。

  • 对于普通同步方法,锁是当前实例。
  • 对于静态同步方法,锁的是类的class对象
  • 对于同步方法块,锁的是关键字括号里的代码

锁的升级

1.6后为了降低锁的的消耗,引入了无锁,偏向锁,轻量级锁,重量级的锁升级过程。可以升级不能降级。

原子操作

原子(atomic)本意是“不能被进一步分割的最小粒子”,而原子操作(atomic operation)意 为“不可被中断的一个或一系列操作”。

通过总线锁,缓存锁实现原子操作。

在java中,使用CAS来实现原子操作。

猜你喜欢

转载自blog.csdn.net/Yoke______/article/details/123231739