线程的生命周期:

多线程:synchronized和volatile


线程间通信:

1.共享内存,显式

2.消息传递,隐式(wait,notify)

synchronized和volatile

通过volatile修饰的变量进行写操作时,JVM会向处理器发送一条带Lock前缀的指令,将这个变量所在缓存的数据写回系统内存

多处理器下,会实现缓存一致性协议,保证各处理器缓存一致性

volatile可以保证原子性,可见性,但不能保证复合操作的原子性

synchronized 互斥性、可见性、可重入锁

基于JVM实现,通过monitor enter获得锁,其他线程未获得锁进入synchronized queue,monitor exit释放,通知其他线程出队列



相关文章:

  • 2019-01-23
  • 2021-06-19
  • 2021-08-05
  • 2021-12-24
  • 2021-05-31
猜你喜欢
  • 2018-04-24
  • 2021-05-08
  • 2021-05-11
  • 2022-01-06
  • 2021-08-17
  • 2021-08-28
  • 2021-10-03
相关资源
相似解决方案