ThreadLocal 为线程绑定对象
来源:互联网 发布:nginx 跳转 url不变 编辑:程序博客网 时间:2024/05/16 06:35
java.lang.ThreadLocal<T>
类,对它的调用在不同线程中有不同的结果。
1.使用场景
有些类不是线程安全的,若想在多线程下使用,我们可以为每个线程绑定一个此类的对象。
2.常用方法
T java.lang.ThreadLocal.get()返回当前线程所持有的对象。
void java.lang.ThreadLocal.set(T value)
设置当前线程所持有的对象。
void java.lang.ThreadLocal.remove()
移除当前线程所持有的对象。
3.例子
可见:线程安全
4.原理浅析
第一段,个人发挥。
第二段,摘自jdk。
5.知名框架如何用
springmvc就在用。
package org.springframework.web.context.request;/** * Holder class to expose the web request in the form of a thread-bound * {@link RequestAttributes} object * ... */public abstract class RequestContextHolder {private static final ThreadLocal<RequestAttributes> requestAttributesHolder;/*other fields and functions*/}
0 0
- ThreadLocal 为线程绑定对象
- ThreadLocal为每个线程生成一个connection数据库连接对象
- 为线程绑定CPU
- 利用 ThreadLocal获取或者关闭SqlSession对象,实现同一线程为同一SqlSession
- ThreadLocal为线程安全而生
- Spring基于ThreadLocal的“资源-事务”线程绑定设计
- ThreadLocal维护线程局部 变量或线程局部对象
- 【线程】 ThreadLocal
- 多线程,为每个线程维护变量副本的ThreadLocal
- 通过ThreadLocal为每个线程提供单独的副本
- ThreadLocal对象
- ThreadLocal --每个线程拥有自己独立的对象
- ThreadLocal实现线程范围内共享变量和对象
- 从Android Handle看 线程与对象、ThreadLocal
- 使用ThreadLocal准确找到操作线程的对象
- 多线程,为每个线程维护变量副本的ThreadLocal,ThreadLocal会造成内存泄漏吗?
- 为 Lua 绑定 C/C++ 对象
- Spring基于ThreadLocal的“资源-事务”线程绑定设计的缘起
- 基于MT7688模块的开发笔记11——编写我的第一个程序并在MT7688中运行
- StringUtils常用的方法
- 统计代码行数命令
- nginx负载均衡
- Exercise(19):排列2
- ThreadLocal 为线程绑定对象
- 指针函数、函数指针、指针数组、数组指针
- Linux常见问题
- popToViewController的用法
- 两个APP之间怎么调用?
- OpenGL ES Shader相关API 总结【0】——获取绘制信息
- 解决MyEclipse10.7 building/deploy 到服务器的时候报java.lang.NullPointerException
- google guava的Preconditions使用
- Android studio安装中遇到的各种坑汇总。