多线程不安全由来

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

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值