0
点赞
收藏
分享

微信扫一扫

多线程不安全由来

胡桑_b06e 2022-03-22 阅读 106
java

在学习多线程的时候一头就扎进去了,学习同步机制、琢磨JMM,是想在脑海中形成多线程概念和模型,但是有一个疑问是:多线程为什么是不安全的呢?

        可以肯定的是种种同步机制和方法是解决这种不安全问题的方式。

因为:进程内所有的线程共用这一块进程空间,是硬件架构导致。

cpu在执行时是从缓存中读取数据,至于为什么请看计算机原理,那么问题就来了,两个线程同时并行执行,各自从主存拷贝一份数据到各自缓存,各自不可见,最后刷新数据到主存,得到的结果就很大可能不是我们想要的结果。

        所以就有了java提供的关键字(synchronized,volatile),实现原理就是围绕怎么去处理这个不安全的现象!然后再学习多线程的时候就能懂,为什么要这样实现!

举报

相关推荐

0 条评论