我们开发web系统的时候,经常会用到ThreadLocal进行session的管理,对于 ThreadLocal的有关理解我是这样的:
我们用ThreadLocal是为了实现线程缓冲池的作用,就象数据库连接池一样,能够给本地用户提供现有的session对象。它并不是线程的一种实现,而是在维护本地变量,为各自的本地提供维护的渠道,避免线程的冲突。
但是,ThreadLocal的确是相对线程的,每个线程都会有自己的ThreadLocal,在一个系统的线程池里面,不同用户访问时候,可能会接受到同样的线程,这个时候要注意了,如果你这个时候用到了ThreadLocal变量,要注意避免ThreadLocal缓存(即:其他的线程访问到本线程ThreadLocal变量);
posted on 2006-09-19 13:50
Alex.xulei 阅读(300)
评论(2) 编辑 收藏