zoukankan      html  css  js  c++  java
  • JVM 内存模型

    线程的工作原理,jvm有一个main memory,而每个线程有自己的working memory,                     
    一个线程对一个variable进行操作时,都要在自己的working memory里面建立一个copy,
    操作完之后再写入main memory。多个线程同时操作同一个variable,就可能会出现不可预知的结果。

    根据上面的解释,很容易想出相应的scenario。 而用synchronized的关键是建立一个monitor,
    这个monitor可以是要修改的variable也可以其他你认为合适的object比如method, 
    然后通过给这个monitor加锁来实现线程安全,每个线程在获得这个锁之后,
    要执行完load到workingmemory -> use&assign -> store到mainmemory 的过程,

    才会释放它得到的锁。这样就实现了所谓的线程安全。

    什么是线程安全?线程安全是怎么完成的(原理)? 线程安全就是说多线程访问同一代码,不会产生不确定的结果。编写线程安全的代码是低依靠线程同步。

  • 相关阅读:
    Python 中的一些小技巧
    Java/Python/Elixir 正则库使用上的注意事项
    Scrapy 学习笔记(一)数据提取
    记第一次面试
    Spring Web MVC 笔记
    Java 单元测试
    Spring 笔记(四)AOP
    C 语言 进阶
    编程的智慧
    Spring 笔记(三)Bean 装配
  • 原文地址:https://www.cnblogs.com/ctaixw/p/5860777.html
Copyright © 2011-2022 走看看