Java 多线程之变量线程安全分析(十)

正文
成员变量和静态变量是否线程安全?
  • 若它们没被共享,则线程安全
  • 若它们被共享,分两种情况讨论
    • 若只有读操作,则线程安全
    • 若有读写操作,则这段代码是临界区,需要考虑线程安全
局部变量是否线程安全?
  • 局部变量是线程安全的
  • 局部变量引用的对象则未必
    • 如果对象没有逃离方法的作用范围,它是线程安全的
    • 若对象逃离方法的作用范围(比如 return),需考虑线程安全的
常见线程安全类
  • String
  • Integer
  • StringBuffer
  • Random
  • Vector
  • Hashtable
  • java.util.concurrent 包下的类(JDK 5 后新增 )

注意:这里的线程安全是指,多个线程调用它们同一个实例的某个方法时,是线程安全的。 虽然它们的每个方法原子的,但是它们多个方法组合不是原子的。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值