public class ThreadLocalTest {
private ThreadLocal local =new ThreadLocal();
private Map testMap =new HashMap();
private void initMap(){
this.testMap.put("key1","caojinli");
this.testMap.put("key2","xiaofei");
this.local.set(testMap);
}
public Map getTestMap() {
return testMap;
}
public void setTestMap(Map testMap) {
this.testMap = testMap;
}
public void getDatafromMap(){
String name =(String)testMap.get("key1");
if(name==null){
Map map =(Map)local.get();
name =(String)map.get("key1");
}
System.out.println(name);
}
public static void main(String[] args){
ThreadLocalTest threadlocalTest =new ThreadLocalTest();
threadlocalTest.initMap();
ANewThread newThread =new ANewThread();
/*
public class ANewThread extends Thread{
public void changeMap(Map map){
map.put("key3","wuyanfei");
} } */
newThread.changeMap(threadlocalTest.getTestMap());
threadlocalTest.getDatafromMap();
}
}
如何来保证这个map不会被别的线程来修改!
高人指点!
private ThreadLocal local =new ThreadLocal();
private Map testMap =new HashMap();
private void initMap(){
this.testMap.put("key1","caojinli");
this.testMap.put("key2","xiaofei");
this.local.set(testMap);
}
public Map getTestMap() {
return testMap;
}
public void setTestMap(Map testMap) {
this.testMap = testMap;
}
public void getDatafromMap(){
String name =(String)testMap.get("key1");
if(name==null){
Map map =(Map)local.get();
name =(String)map.get("key1");
}
System.out.println(name);
}
public static void main(String[] args){
ThreadLocalTest threadlocalTest =new ThreadLocalTest();
threadlocalTest.initMap();
ANewThread newThread =new ANewThread();
/*
public class ANewThread extends Thread{
public void changeMap(Map map){
map.put("key3","wuyanfei");
} } */
newThread.changeMap(threadlocalTest.getTestMap());
threadlocalTest.getDatafromMap();
}
}
如何来保证这个map不会被别的线程来修改!
高人指点!
解决方案 »
- basicplayer出现这种提示,但没有声音.
- 用什么方法能获得按钮上的文本?
- 关于JNDI,谢谢,帮帮我!
- 大家好,我有一个问题想请教一下
- 怎么用JTable做某两列乘积,动态的该第三列的值?
- 关于中文处理,帮帮忙
- 请问JDK里有没有替换String中某个字符的类?
- 在Jbuilder7中TableDataSet中的数据在JdbTable中显示的精度问题。在线等候...
- ■■JAVA有许多版本的工具,使用的类库也各有不同,VJ++使用WFC,JCREATE使用AWT。。这么多不同的类库,我是否需要一个一个学,请JAVA老手指教我该从何入手呢?■■
- 这个系统找不指定路径怎么解决
- 对话框皮肤设置问题
- 对象函数如何在内存中和对象挂钩
ThreadLocal.get
return map.get(Thread.currentThread());