java内存模型及并发技术.pptVIP

  • 6
  • 0
  • 约1.57万字
  • 约 54页
  • 2019-01-15 发布于浙江
  • 举报
java内存模型及并发技术

StringBuffer是线程安全的,但是使用和共享StringBuffer的多线程代码不是安全的代码 * * * Volatile变量的内存模型分析 旧的内存模型:保证读写volatile都直接发生在main memory中,线程的working memory不进行缓存 —— 仅仅保证这些volatile使用的价值和意义不大 在新的内存模型下对volatile的语义进行了修补和增强 如果当线程 A 写入 volatile 变量 V 而线程 B 读取 V 时,那么在写入 V 时,A 可见的所有变量值现在都可以保证对 B 是可见的。结果就是作用更大的 volatile 语义,代价是访问 volatile 字段时会对性能产生了一点点的影响。(A volatile var write happens-before read of the var) Volatile变量的内存模型分析 volatile 的旧语义只承诺正在读和写的变量的可见性,仍然参与排序。这样导致排序问题。新的内存模型修补了这一点 实际上,对 volatile 字段的每一次读或者写都像是“半个”同步。 对 volatile 的读有与monitor enter的内存语义 对 volatile 的写有与monitor exit的同样的语义 Volatile变量的内存模型分析 stop用volatile修饰来保

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档