ThreadLocal类使用说明
程序员文章站
2022-04-18 11:52:37
ThreadLocal类用于创建一个线程本地变量 在Thread中有一个成员变量ThreadLocals,该变量的类型是ThreadLocalMap,也就是一个Map,它的键是threadLocal,值为就是变量的副本。通过ThreadLocal的get()方法可以获取该线程变量的本地副本,在get ......
threadlocal类用于创建一个线程本地变量
在thread中有一个成员变量threadlocals,该变量的类型是threadlocalmap,也就是一个map,它的键是threadlocal,值为就是变量的副本。通过threadlocal的get()方法可以获取该线程变量的本地副本,在get方法之前要先set,否则就要重写initialvalue()方法。
threadlocal的使用场景:
数据库连接:在多线程中,如果使用懒汉式的单例模式创建connection对象,由于该对象是共享的,那么必须要使用同步方法保证线程安全,这样当一个线程在连接数据库时,那么另外一个线程只能等待。这样就造成性能降低。如果改为哪里要连接数据库就来进行连接,那么就会频繁的对数据库进行连接,性能还是不高。这时使用threadlocal就可以既可以保证线程安全又可以让性能不会太低。但是threadlocal的缺点时占用了较多的空间。
上一篇: js 页面跳转
下一篇: Java语言中的异常处理