论坛首页 Java企业应用论坛

学习Spring必学的Java基础知识(6)----ThreadLocal

浏览 72604 次
该帖已经被评为精华帖
作者 正文
   发表时间:2012-05-31  
hz020815 写道
如果这个对象要修改怎么办,比如银行的例子,要count+


你直接改就可以了,只影响到当前的线程。
0 请登录后投票
   发表时间:2012-05-31  
stamen 写道
hz020815 写道
如果这个对象要修改怎么办,比如银行的例子,要count+


你直接改就可以了,只影响到当前的线程。

他说的应该是数据库事务吧
0 请登录后投票
   发表时间:2012-06-04  
ThreadLocal的例子不是很贴切
每个线程都拥有一个数据库链接,线程创建及注销都会关联一次数据库分配与释放,这会造成不必要的浪费。除非使用线程池。
但是最好使用数据库连接池。
ThreadLocal很少使用,基本上都会被局部变量替代。除非有对线程上下文感兴趣的情况。
0 请登录后投票
   发表时间:2012-06-07  
书好厚。。。。。。。。。可不可以下次出薄点的多出几本都可以。。。。不方便
0 请登录后投票
   发表时间:2012-06-07  
grosso 写道
书好厚。。。。。。。。。可不可以下次出薄点的多出几本都可以。。。。不方便


谢谢提醒啊,Spring的东西太多了,现在已经700多页,还有两章内容是放在光盘中的,不然就有900多页了。

正打算出一本 大概300页左右的,包括应用中最常使用的内容。
0 请登录后投票
   发表时间:2012-06-13  
我想说的是:spring中的bean不以singleton的方式,每次请求都new一个对象不行么
0 请登录后投票
   发表时间:2012-06-16  
用到时候马马虎虎,很少了解原理的,惭愧
0 请登录后投票
   发表时间:2012-06-18  
那这么说spring采用了ThreadLocal,就不需要把bean设为prototype了??
0 请登录后投票
   发表时间:2012-06-18  
superysy 写道
那这么说spring采用了ThreadLocal,就不需要把bean设为prototype了??


Spring中的Bean很少需要设置为prototype的,至少我本人就没有碰到过这种情况。
但是不能说所有的Bean都不需要设置为prototype,还是要看具体的情况,所以理解原理才是更重要的。
0 请登录后投票
   发表时间:2012-06-18  
stamen 写道
superysy 写道
那这么说spring采用了ThreadLocal,就不需要把bean设为prototype了??


Spring中的Bean很少需要设置为prototype的,至少我本人就没有碰到过这种情况。
但是不能说所有的Bean都不需要设置为prototype,还是要看具体的情况,所以理解原理才是更重要的。

我看项目中的action都设为prototype,理由是action是有状态的,一个action的话有可能会出现多线程并发访问action的问题,但这个问题ThreadLocal不是解决了么? 还有,DAO和Service层不也是有状态的么?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics