threadlocal为本地线程,顾名思义是独自线程,所以具有线程隔离的功能。
优点:
传递数据:避免方法传参带来的耦合问题
线程隔离:线程隔离且并并发性,避免同步带来的性能损失
同步会让线程排队执行,失去并发性。
最好配合finally来释放资源,避免内存泄露。
优雅代码写法,先获取threadlocal的值,没有再去取值,然后放到threadlocal。下次执行threadlocal就有值。
主要用法:
threadlocal.set(“a”,“aa”)
threadlocal.get(“a”)
threadlocal.remove()