多线程的安全问题

 

多线程的安全问题:

产生的原因:

1.线程任务中有处理到共享数据。
2.线程任务中有多条对共享数据的操作。
一个线程在操作共享数据的过程中,其他线程参与了运算,造成了数据的错误。

解决的思想:
只要保证多条操作共享数据的代码在某一段时间段,被一条线程执行,在执行期间不允许其他线程参与运算。

咋保证呢?
用到了同步代码块。

synchronized(对象){
需要被同步的代码。
}

同步在目前情况下保证了一次只能有一个线程在执行。其他线程进不来。
这就是同步锁机制。


好处:解决了多线程的安全问题。

弊端:降低效率。


有可能出现这样一种情况:
多线程安全问题出现后,加入了同步机制,没有想到,安全问题依旧!咋办?

这时肯定是同步出了问题。

只要遵守了同步的前提,就可以解决。


同步的前提:

 

多个线程在同步中必须使用同一个锁。这才是对多个线程的同步。

 

 

关注我的微信公众号(曲健磊的个人随笔),观看更多精彩内容:


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值