多线程访问成员变量与局部变量
2017-01-03 16:40
260 查看
如果一个变量是成员变量,那么多个线程对同一个对象的成员变量进行操作时,它们对该成员变量是彼此影响的,也就是说一个线程对成员变量的改变会影响到另一个线程。
如果一个变量是局部变量,那么每个线程都会有一个该局部变量的拷贝(即便是同一个对象中的方法的局部变量,也会对每一个线程有一个拷贝),一个线程对该局部变量的改变不会影响到其他线程。
ThreadLocal是JDK引入的一种机制,它用于解决线程间共享变量,使用ThreadLocal声明的变量,即使在线程中属于全局变量,针对每个线程来讲,这个变量也是独立的。 它通过为每个线程提供一个独立的变量副本解决了变量并发访问的冲突问题。在很多情况下,ThreadLocal比直接使用synchronized同步机制解决线程安全问题更简单,更方便,且结果程序拥有更高的并发性。
如果一个变量是局部变量,那么每个线程都会有一个该局部变量的拷贝(即便是同一个对象中的方法的局部变量,也会对每一个线程有一个拷贝),一个线程对该局部变量的改变不会影响到其他线程。
ThreadLocal是JDK引入的一种机制,它用于解决线程间共享变量,使用ThreadLocal声明的变量,即使在线程中属于全局变量,针对每个线程来讲,这个变量也是独立的。 它通过为每个线程提供一个独立的变量副本解决了变量并发访问的冲突问题。在很多情况下,ThreadLocal比直接使用synchronized同步机制解决线程安全问题更简单,更方便,且结果程序拥有更高的并发性。
相关文章推荐
- Java 多线程访问成员变量与局部变量
- iava多线程详解(2)-成员变量与局部变量访问
- Java 多线程(四) 多线程访问成员变量与局部变量
- Java 多线程(四) 多线程访问成员变量与局部变量
- Java 多线程(四) 多线程访问成员变量与局部变量
- 【转】Java 多线程(四) 多线程访问成员变量与局部变量
- 多线程访问成员变量与局部变量
- Java 多线程(四) 多线程访问成员变量与局部变量
- Java 多线程(四) 多线程访问成员变量与局部变量
- Java多线程访问成员变量与局部变量
- 多线程访问成员变量与局部变量
- Java 多线程(四) 多线程访问成员变量与局部变量
- Java 多线程(四) 多线程访问成员变量与局部变量
- 2017.2.22 多线程访问成员变量造成的问题及改正
- 12 多线程 线程之间的局部变量与成员变量 | sleep
- 2017.2.22 多线程访问成员变量造成的问题及改正
- 多线程启动时,局部变量与成员变量的差异
- Java 多线程(四) 多线程访问成员变量与局部变量
- 多线程-局部变量和成员变量
- 多线程--局部变量和成员变量作用域分析