happens-before规则

happens-before规则

起男 261 2023-12-27

happens-before规则

  1. 程序顺序规则:一个线程中的每个操作,happens-before于改线程中的任意后续操作
  2. 监视器规则:对一个锁的解锁,happens-before于随后对这个锁的加锁
  3. volatile规则:对一个volatile变量的写,heppens-before于任意后续对一个volatile变量的读
  4. 传递性规则:若a happens-before b,b happens-before c,则a happens-before c
  5. 线程启动规则:Thread对象的start()方法,happens-before于这个线程的任意后续操作
  6. 线程终止规则:线程中的任意操作,happens-before于该线程的终止监测。我们可以通过thread.join()方法结束,thread.isAlive()方法监测线程终止
  7. 线程中断规则:对线程interrupt()方法的调用,happens-before于被中断线程的代码检测到中断事件的发生,可以通过Thread.interrupted()方法监测线程是否发生中断
  8. 对象终结规则:一个对象的初始化完成,happens-before于对这个对象的finalize()方法的开始