当前位置:   article > 正文

Java 多线程之变量线程安全分析(十)_java主线程声明局部变量是线程安全的,子线程修改

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/220815
推荐阅读
相关标签
  

闽ICP备14008679号