java基础(多线程)-变量的线程安全分析

一、变量的线程安全分析

1.1 成员变量和静态变量是否线程安全

  • 如果他们没有共享,则线程安全
  • 如果他们被共享了,根据他们的状态是否能够改变,有份两种情况
  1. 如果只有读操作,则线程安全
  2. 如果有读写操作,则这段代码是临界区,需要考虑线程安全

1.2 局部变量是否线程安全

  • 局部变量是线程安全的
  • 但局部变量引用的对象则未必
  1. 如果该对象没有逃离方法的作用访问,他是线程安全的
  2. 如果该对象逃离方法的作用范围,则需要考虑线程安全。

你可能感兴趣的:(java)