My studying notes for Java,Ruby,Ajax and other any interesting things.

星期二, 六月 10, 2008

关于ThreadLocal



ThreadLocal可以为线程保存一个变量,这个变量只在该线程中可以被使用(如果是在该线程新建的话)。当线程销毁的时候,ThreadLocal对象也会被销毁。
可以用来存放该线程中共享的变量,比如Hibernate的Session,该线程中唯一存在的对象等...

ThreadLocal和同步没有本质关联,同步是指的多个线程在访问共享资源的时候应该考虑的数据完整性的内容。ThreadLocal则重点关注同一个线程,在不同地方可以方便快捷的访问到该线程中的变量。使用ThreadLocal用于保存数据库连接、事务处理等相关内容十分方便。

没有评论: