代码如下:public class D { /**
 * @param args
 */
private static ThreadLocal<String> threadLocal= new ThreadLocal<String>();
public static void main(String[] args) {
final CountDownLatch countDownLatch = new CountDownLatch(10);
final List<Future<String>> list = new ArrayList<Future<String>>();
for(int i=0;i<10;i++){
final int val = i;
ExecutorService executor = Executors.newFixedThreadPool(10);
Future<String> future =  executor.submit(new Callable<String>(){
public String call() throws Exception {
threadLocal.set(val+"00");
try {
String retVal = update(val);
return retVal;
} catch (Exception e) {
e.printStackTrace();
}finally{
countDownLatch.countDown();
}
return "";
}

});
list.add(future);
}
try {
countDownLatch.await();
for(int i=0;i<list.size();i++){
System.out.println(threadLocal.get());
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public static String update(final int val){
String no = val+"00";
String retVal = val+"update";
return retVal;
}}get的时候都是null,没有值....疑惑了。