什么是线程安全

本文详细解析了线程安全与线程不安全的概念,通过生动的例子解释了两者之间的区别。介绍了在多线程环境下,如何确保数据访问的安全性,避免数据错误和脏数据的产生。

1.线程安全:

如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。

如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期是一样的

,这就是线程安全。

 

 

 

2.线程不安全:

就是不提供数据访问保护,有可能出现多个线程先后更爱数据造成所得到的数据是脏数据。

在多个线程同时访问同一个对像时会发生数据错误,不完整等情况,那就是线程不安全,不会发生以上错误时是线程安全的。

 

 

 

一个线程访问资源的时候为其加锁,别的线程只有等到该线程释放资源后才能使用,这样做为了防止数据的非正常改变和使用。

####################################################################################

举个例子:

有一篮苹果,有大有小,如果有一群人要来拿苹果,

在线程不安全的情况下:

所有人都想要大的。大家一哄而上,变成了抢苹果。发生了冲突。

在线程安全的情况下:

把这一篮苹果放到一个小屋中,每次只允许一个人进来拿苹果,然后锁住小屋,

等这个人拿完苹果才打开锁允许下个人过来拿苹果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值