TreadLocal 跟老同学的聊天记录
<!--StartFragment -->
交谈中请勿轻信汇款、中奖信息,勿轻易拨打陌生电话。?[一球成名!]??21:42:49
?????????
????面的效果不好啊????????
[一球成名!]??21:43:00
?????????
????有点遗憾
吴万里??21:43:01
?????????
????为什么? 技术 还是 英语?
吴万里??21:43:06
?????????
????英语?
[一球成名!]??21:43:09
?????????
????技术
吴万里??21:43:13
?????????
????什么技术?
[一球成名!]??21:43:51
?????????
????主要问我有没有去了解开源
[一球成名!]??21:44:18
?????????
????问框架的设计
吴万里??21:44:36
?????????
????你怎么说的?
[一球成名!]??21:45:10
?????????
????我只知道单例模式,他问框架里一个核心类为什么设计成单利的
[一球成名!]??21:45:14
?????????
????我说不知道
吴万里??21:45:30
?????????
??????
吴万里??21:45:33
?????????
????单利?
[一球成名!]??21:45:42
?????????
????反正跟多线成有关
吴万里??21:45:48
?????????
????考
[一球成名!]??21:45:50
?????????
????单例
吴万里??21:45:58
?????????
????原因 不就一个么
吴万里??21:46:04
?????????
????系统不能重入阿
[一球成名!]??21:46:12
?????????
????什么?
[一球成名!]??21:46:21
?????????
????不能重入是什么意思?
吴万里??21:46:23
?????????
????核心数据不能多线程共同访问
吴万里??21:46:48
?????????
????核心数据如果 有多个线程访问
吴万里??21:47:03
?????????
????就需要先解决数据同步问题阿
吴万里??21:47:12
?????????
????一般 这个是最主要的
[一球成名!]??21:47:36
?????????
????我觉得这样解释不够充分
[一球成名!]??21:47:44
?????????
????哦
[一球成名!]??21:47:57
?????????
????他问的是theadlocal
[一球成名!]??21:47:59
?????????
????这个
吴万里??21:48:09
?????????
????这个是什么没见过
[一球成名!]??21:48:23
?????????
????ThreadLocal
[一球成名!]??21:48:29
?????????
????java的
[一球成名!]??21:48:56
?????????
????这个东西很不错,可我没仔细去研究
吴万里??21:49:03
?????????
????TheadLocal包含了一组get(),set(Object)方法,可以获得当前线程的放进去的对象。
????ThreadLocal?不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set()?到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的。各个线程中访问的是不同的对象。?
????另外,说ThreadLocal使得各线程能够保持各自独立的一个对象,这个对象的创建并不是通过ThreadLocal.set()来实现的,set()并不会做什么对象的拷贝,而是每个线程之前已经创建好的对象。通?过ThreadLocal.set()将这个新创建的对象的引用以当前线程为key,保存TheadLocal的一
吴万里??21:49:14
?????????
????线程池管理 像
[一球成名!]??21:49:42
?????????
????我反正不太清楚
[一球成名!]??21:50:02
?????????
????他反正是类似map存数据的
吴万里??21:50:12
?????????
????恩
吴万里??21:50:33
?????????
????ThreadLocal?不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set()?到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的。各个线程中访问的是不同的对象。
[一球成名!]??21:51:21
?????????
????map的key是线成的id,多线成情况下,同过id获得不同对象操作的那个value,不会冲突的问题吧
[一球成名!]??21:51:27
?????????
????不太确切
吴万里??21:51:46
?????????
????有点类似吧
吴万里??21:51:56
?????????
????我还没找到 这个对象存在的原因
[一球成名!]??21:52:16
?????????
????但为什么用,什么情况下用我还是不清楚,所以不会用
[一球成名!]??21:52:28
?????????
????一般工厂类会用道
[一球成名!]??21:52:56
?????????
????所以,这个东西跟单例扯上关系了
吴万里??21:52:58
?????????
????ThreadLocal类为于java.lang包中,它是java中一种较为特殊的线程绑定机制,会为每个线程维护一个私有的变量空间。通过ThreadLocal存取的数据,总是与当前线程相关,也就是说,JVM为每个运行的线程绑定了私有的本地实例化存取空间,从而为多线程环境常出现的并发访问问题提供了一种隔离机制。实际上,其实现原理是在JVM中维护一个Map,这个Map的key就是当前的线程对象,而value则是线程通过ThreadLocal.set方法保存的对象实例。当线程调用ThreadLocal.get方法时,ThreadLocal会根据当前线程对象的引用,取出Map中对应的对象返回。这样,ThreadLocal通过以各个线程对象的引用作为区分,从而将不同线程的变量隔离开来。
吴万里??21:53:13
?????????
????这个解释比较确切店
[一球成名!]??21:53:32
?????????
????恩
[一球成名!]??21:53:48
?????????
????但是为什么怎么跟单利扯上关系的
吴万里??21:54:11
?????????
????他原题怎么说的
[一球成名!]??21:54:16
哦
[一球成名!]??21:54:25
?????????
????似乎我回忆起一点点
[一球成名!]??21:55:24
?????????
????通常:一个类是多例的,在多线成下,用这个类存数据。
[一球成名!]??21:55:37
?????????
????1个线成1个对象
[一球成名!]??21:56:00
?????????
????如果是单利的,多线成下可能造成数据的相互修改
[一球成名!]??21:56:26
?????????
????所以用threadLocal就解决了这个问题
[一球成名!]??21:57:06
?????????
????单个实例,但可以保存不同线成私有的数据
吴万里??21:58:22
?????????
????那他的问题 具体 怎么说的呢
吴万里??21:58:38
?????????
????就是说 为什么单利的时候为什么用threadlocal???
[一球成名!]??21:58:52
?????????
????struts的ActionContext为什么使用ThreadLocal
[一球成名!]??21:59:19
?????????
????struts2的Action就是单例的
吴万里??21:59:48
?????????
????哦
吴万里??21:59:58
?????????
????还真不喜欢这些东西
[一球成名!]??22:00:48
?????????
????没看过源代码,不过已经感觉ActionContext使用ThreadLocal来管理Action实例的
[一球成名!]??22:01:06
?????????
????为什么不喜欢?
吴万里??22:01:51
?????????
????不为什么
吴万里??22:01:55
?????????
????就是不喜欢
吴万里??22:02:07
?????????
????现在 我也不知道 自己该干什么了
[一球成名!]??22:02:11
?????????
????我觉得很好
[一球成名!]??22:02:36
?????????
????越是想法多,越是不知道干什么,哈哈
[一球成名!]??22:03:00
?????????
????有时候回烦的头疼
[一球成名!]??22:03:36
?????????
????你小子现在抽烟吗?
吴万里??22:04:41
?????????
????没钱抽 哈哈
吴万里??22:04:48
?????????
????不想抽 不喜欢
吴万里??22:05:59
?????????
????想跳出这个怪圈
[一球成名!]??22:06:10
?????????
????呵呵,思考问题不抽烟,不像男人啊,总不能嘴里叼个棒棒糖吧
吴万里??22:06:24
?????????
????却 感觉 不知道从那里出去
吴万里??22:06:27
?????????
????出去做什么
[一球成名!]??22:06:37
?????????
????哎呀,跟你一样
吴万里??22:06:41
?????????
????不做那种面子工程
[一球成名!]??22:07:12
?????????
????不容易啊
[一球成名!]??22:07:31
?????????
????到了这个年龄,考虑好多事情
吴万里??22:07:50
?????????
????可能吧
吴万里??22:08:03
?????????
????不过 我也准备 看看 招聘
吴万里??22:08:13
?????????
????看看能不能找个 项目经理的角色
吴万里??22:08:28
?????????
????或者 银行、外企的SE角色
[一球成名!]??22:08:48
?????????
????挺烦的,真的,压力大。?感觉。想要个孩子
[一球成名!]??22:09:00
?????????
????奇怪吧
吴万里??22:09:10
?????????
????想有个念想?
吴万里??22:09:22
?????????
????可以阿 你身边那么多美女 搞定阿
[一球成名!]??22:09:32
?????????
????不知道呢,神奇的想法
吴万里??22:09:50
?????????
????wc
[一球成名!]??22:09:58
?????????
????哈哈
[一球成名!]??22:11:05
?????????
????兄弟,到什么年龄做什么事,我觉得还是不要违背的好,要有结婚的想法啊
[一球成名!]??22:11:21
?????????
????不能耽误了
[一球成名!]??22:11:58
?????????
????2个人后,你的思考会有针对性,目标性吧
我猜的
[一球成名!]??22:13:31
?????????
????跟你一样我也想项目经理呢,自己可以脱离出来
[一球成名!]??22:13:43
?????????
????要么工资拿高一点