关于线程安全性

2 篇文章 0 订阅
2 篇文章 0 订阅

以前从来没有想过这个问题,多线程操作一个变量时如何处理?

如果多个线程访问了同一个变量,你的程序就存在隐患。有3种方法修复它:

l 不要跨线程共享变量;
l 使状态变量为不可变的;或者
l 在任何访问状态变量的时候使用同步。

如果一个类可以安全地被多个线程使用,而调用者不需要任何动作(来确保线程的安全性),它就是线程安全的。 

如何判断是否为线程安全的呢?

如果能拿到方法的源码:
1、方法里的代码在同一时刻只能被一个线程执行,这个方法是线程安全的。
2、方法里的代码在同一时刻能被多个线程执行,但线程使用的变量,对象等是线程独立的,这个方法也是线程安全的。
3、方法里的代码在同一时刻能被多个线程执行,不同线程使用了共享的变量、对象等,如果这些共享的东西本身是线程安全的,这个方法也算是线程安全的。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值