当前位置:首页 » 服务器技术
开发技术指南» 文章正文
    引言: ThreadLocal ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是thread local variable(线程局部变量)。
 

 

 ·多线程设计要点    »显示摘要«
    摘要:1.多线程中有主内存和工作内存之分, 在jvm中,有一个主内存,专门负责所有线程共享数据;而每个线程都有他自己私有的工作内存, 主内存和工作内存分贝在jvm的stack区和heap区。2.线程的状态有ready, running, sleeping, blocked, 和 waiting几个状态,ready 表示线程正在等待cpu分配允许运行的时间。3.线程运行次序并不是按照我们创建他们时的顺序来......
 ·网络数据流的java处理(1)    »显示摘要«
    摘要:1.庞大的java流处理 首先,之所以说java流的庞大,是因为java中的流处理比其他语言的流处理在内容上多的多。java流在处理上分为字符流和字节流。字符流处理的单元为2个字节的unicode字符,分别操作字符、字符数组或字符串,而字节流处理单元为1个字节,操作字节和字节数组。java内用unicode编码存储字符,字符流处理类负责将外部的其他编码的字符流和java内unicode字符流之间......


Java中ThreadLocal的设计与使用
上一页   ...thread curthread = thread.currentthread();

【程序编程相关:DHCP协议概述

【推荐阅读:DHCP的基本信息

object o = values.get(curthread); 【扩展信息:阿尔卡特向Thales公司转让更多业务

if (o == null && !values.containskey(curthread))

{

o = initialvalue();

values.put(curthread, o);

}

return o;

}

public void set(object newvalue)

{

values.put(thread.currentthread(), newvalue);

}

public object initialvalue()

{

return null;

}

}

当然,这并不是一个工业强度的实现,但jdk中的threadlocal的实现总体思路也类似于此.

threadlocal的使用

如果希望线程局部变量初始化其它值,那么需要自己实现threadlocal的子类并重写该方法,通常使用一个内部匿名类对threadlocal进行子类化,比如下面的例子,serialnum类为每一个类分配一个序号

public class serialnum

{

// the next serial number to be assigned

private static int nextserialnum = 0;

private static threadlocal serialnum = new threadlocal()

{

protected synchronized object initialvalue()

{

return new integer(nextserialnum++);

}

};

public static int get()


...   下一页
 ·如何用java实现web服务器(1)    »显示摘要«
    摘要:一、http协议的作用原理www是以internet作为传输媒介的一个应用系统,www网上最基本的传输单位是web网页。www的工作基于客户机/服务器计算模型,由web 浏览器(客户机)和web服务器(服务器)构成,两者之间采用超文本传送协议(http)进行通信。http协议是基于tcp/ip协议之上的协议,是web浏览器和web服务器之间的应用层协议,是通用的、无状态的、面向对象的协议。http......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE