zoukankan      html  css  js  c++  java
  • 【深入比较ThreadLocal模式与synchronized关键字】

    ThreadLocal模式与synchronized关键字都是用于处理多线程并发访问变量的问题。只是两者处理问题的角度和思路不同。
    
    1)ThreadLocal是一个Java类,通过对当前线程(Thread)中的局部变量的操作来解决不同线程的变量访问的冲突问题。所以,ThreadLocal提供了线程安全的共享对象机制,
    每个线程(Thread)都拥有其副本。
    2)Java中的synchronized是一个保留字,它依靠JVM的锁机制来实现临界区的函数或者变量在访问中的原子性。在同步机制中,
    通过对象的锁机制保证同一时间只有一个线程访问变量。此时,被用作“锁机制”的变量是多个线程共享的。 同步(自家厕所)机制采用了“以时间换空间”的方式,提供一份变量,让不同的线程排队访问。

    而ThreadLocal采用了“以空间换时间”的方式(公司厕所),为每一个线程都提供了一份变量的副本,从而实现同时访问而互不影响。
  • 相关阅读:
    poj 2947 Widget Factory 夜
    poj 1222 EXTENDED LIGHTS OUT 夜
    poj 3440 Coin Toss 夜
    poj 1166 The Clocks 夜
    poj 3270 Cow Sorting 夜
    poj 3071 Football 夜
    poj 2409 Let it Bead 夜
    poj 1141 Brackets Sequence 夜
    hdu 4311 Meeting point1 夜
    poj 1026 Chipher 夜
  • 原文地址:https://www.cnblogs.com/alamps/p/8709714.html
Copyright © 2011-2022 走看看