您的位置:首页 >> 编程开发 >> Java >> 线程 >> 正文
线程 RSS
 

Java多线程之ThreadLocal

http://www.rdxx.com 08年09月08日 19:58 我要投稿

关键词: 多线程 , thread , Java , CA , read , 线程
  ThreadLocal的核心思想很简单:为每个独立的线程提供一个变量的副本。
  Java提供的synchronized关键字使用了“同步锁”的机制来阻止线程的竞争访问,即“以时间换空间”。: " 10pt; FONT-SIZE:> ThreadLocal则使用了“拷贝副本”的方式,人人有份,你用你的,我用我的,大家互不影响,是“以空间换时间”。每个线程修改变量时,实际上修改的是变量的副本,不怕影响到其它线程。
  为了加深对ThreadLocal的理解,下面我使用一个例子来演示ThreadLocal如何隔离线程间的变量访问和修改:
  【1】SerialNum类
  package example.thread.threadLocal;
  public class SerialNum {
  private static int nextSerialNum = 1;
  @SuppressWarnings("unchecked")
  private static ThreadLocal serialNum = new ThreadLocal() {
   protected synchronized Object initialValue() {
    return new Integer(nextSerialNum++);
   }
  };
  public static int get() {
   return ((Integer) (serialNum.get())).intValue();
  }
  
  @SuppressWarnings("unchecked")
  public static void set(Integer newSerial){
   serialNum.set(newSerial);
  }
  }

 
 
标签: 多线程 , thread , Java , CA , read , 线程 打印本文
 
 
  热点搜索
 
 
 



Valid XHTML 1.0 Transitional
Copyright ©2005 - 2008 Rdxx.Com,All Rights Reserved
收藏本页
收藏本站