【深入比较ThreadLocal模式与synchronized关键字】
2018-04-03 17:13
302 查看
ThreadLocal模式与synchronized关键字都是用于处理多线程并发访问变量的问题。只是两者处理问题的角度和思路不同。 1)ThreadLocal是一个Java类,通过对当前线程(Thread)中的局部变量的操作来解决不同线程的变量访问的冲突问题。所以,ThreadLocal提供了线程安全的共享对象机制,
每个线程(Thread)都拥有其副本。 2)Java中的synchronized是一个保留字,它依靠JVM的锁机制来实现临界区的函数或者变量在访问中的原子性。在同步机制中,
通过对象的锁机制保证同一时间只有一个线程访问变量。此时,被用作“锁机制”的变量是多个线程共享的。 同步(自家厕所)机制采用了“以时间换空间”的方式,提供一份变量,让不同的线程排队访问。
而ThreadLocal采用了“以空间换时间”的方式(公司厕所),为每一个线程都提供了一份变量的副本,从而实现同时访问而互不影响。
相关文章推荐
- 深入比较ThreadLocal模式与synchronized关键字
- volatile、ThreadLocal、synchronized等3个关键字区别
- Java——多线程总结及ThreadLocal、Volatile、synchronized、Atomic四个关键字
- threadlocal 变量 跟synchronized 关键字的关系
- 深入理解java中的synchronized关键字
- Java单例模式及创建单例模式的多线程问题 volatile synchronized 关键字
- Synchronized和ThreadLocal使用的比较
- 关键字synchronized和volatile比较
- (转)并发编程之ThreadLocal、Volatile、synchronized、Atomic关键字扫盲
- 多线程同步机制2-深入理解synchronized关键字
- 【转】Java多线程编程中易混淆的3个关键字( volatile、ThreadLocal、synchronized)总结
- volatile关键字与synchronized关键字比较..
- 深入理解synchronized关键字
- JAVA的synchronized关键字与concurrent并发包的性能比较。
- java多线程编程关键字volatile,ThreadLocal和synchronized
- 深入理解java中的synchronized关键字
- Java同步关键字Synchronized深入理解
- 深入理解java中的synchronized关键字
- Atomic、volatile、synchronized、ThreadLocal优缺点比较
- 关于Java关键字synchronized——单例模式的思考