阅读276 返回首页    go 阿里云 go 技术社区[云栖]


保持java线程间可见性的5种方式

Primitive Writes up to and including… ...are made visible to…
Object the end of a synchronized block or method a thread entering a synchronized block or method for the same object.
Volatile field a write to a volatile field any thread reading that volatile field.
Thread a call to Thread.start the newly started thread.
Thread the final write made by a dying thread any thread which successfully calls Thread.join on that thread.
Final field the initialization of a final field (but only those writes affecting the field and any object it references) any thread, provided that the constructor of the object containing the field doesn’t write the value of this anywhere eventually visible to other threads



  这些在《java并发编程实践》一书中已经有详细解释,特别是对于ReentrantLock、volatile域以及final域的讨论。今天在MenTaLguY的blog上看到这张表,摘录下

文章转自庄周梦蝶  ,原文发布时间2008-02-23

最后更新:2017-05-17 17:31:51

  上一篇:go  中化集团牵手阿里云拥抱互联网+ 打造领先的化工行业B2B垂直电商
  下一篇:go  java nio之Buffer(一)