阅读220 返回首页    go 技术社区[云栖]


Happens-before

Program order rule: Each action in a thread happens-before every action in that thread that comes later in the program order.

Monitor lock rule: An unlock on a monitor lock happens-before every subsequent lock on that same monitor lock.

Volatile variable rule: A write to a volatile field happens-before every subsequent read of that same field.

Thread start rule: A call to Thread.start on a thread happens-before every action in the started thread.

Thread termination rule: Any action in a thread happens-before any other thread detects that thread has terminated, either by successfully return from Thread.join or by Thread.isAlive returning false.

Interruption rule: A Thread calling interrupt on another thread happens-before the interrupted thread detects the interrupt(either by having InterruptedException thrown, or invoking isInterrupted or interrupted).

Finalizer rule: The end of a constructor for an object happens-before the start of the finalizer for that object.

Transitivity: If A happens-before B, and B happens-before C, then A happens-before C.

最后更新:2017-06-14 09:31:33

  上一篇:go  CCAI 讲师专访 | 机器学习奠基人Thomas Dietterich:人类将如何受到AI威胁
  下一篇:go  Flume监听文件夹中的文件变化,并把文件下沉到hdfs