解决方案 »
- 一个简单的QQ聊天程序,基于服务器很客户端的,但是我写好以后调试了两天都没调试出来。。。不知道错在哪里(希望大家帮帮忙,我没多少分数能给了,只剩20分)
- 请教java关于事件侦听的一个问题,多谢各位指教!
- 帮我看看问题出在哪 谢谢
- 已经创建了2个jframe,怎么从一个打开另一?
- 在JTree 的Root上Double Click后,如何让Root下面的孩子节点不隐藏起来,而是一直显示着
- SCJP中有几道题没搞懂,那位高手帮忙看看,最好能解释一下
- 跪求DAO,泣血再拜!
- goto const 是关键字吗?谢谢
- java如何使frame动态更新
- Where can download VisualAge for Java 3.0 Enterprise Edition ?
- JSONObject 引号问题
- ios的ZSSRichTextEditor-master。。android版本谁移植个嘛
出来会有这样的结果
Thread-0 i=2 n=0
Thread-0 i=1 n=1
Thread-1 i=2 n=0
Thread-0 i=1 n=2
Thread-1 i=2 n=1
Thread-1 i=2 n=2
Thread-2 i=3 n=0
Thread-2 i=3 n=1
Thread-2 i=3 n=2
照理单个线程自己输出应该不会错乱啊
怎么线程0会从2开始又变到1....
当我们希望一个线程有自己那份变量副本时我们才用它,threadLocal.get() 就只得到自己那份,好处是初始化和更新及读取过程可以在不同的方法中,彼此之间不互相传递参数,特别适应一些框架型的 API 设计,来扮演一个 Context 角色,比如 transaction context, login context, faces context, session context 之类。框架 API 会在一个请求开始时初始化 context 然后 threadLocal.set 放进去,之后各个阶段的 API 方法从 threadLocal.get() 拿到当前线程的 context,最后阶段时再 threadLocal.remove() 清除。当我们使用 static 时就表示我们其实不需要 ThreadLocal.