线程封闭
如果仅在单线程内访问数据,就不需要同步,这种技术被称为线程封闭(Thread Confinement)。
栈封闭
在栈封闭中,只能通过局部变量才能访问对象。
ThreadLocal 类
ThreadLocal 类的使用方式如下:
private static ThreadLocal<Connection> connectionHolder = new ThreadLocal<>() {
public Connection initialValue() {
return DriverManager.getConnection(DB_URL);
}
};
public static Connection getConnection() {
return connectionHolder.get();
}
当某个线程第一次调用 ThreadLocal.get 方法时,就会调用 initialValue 来获取初始值。
最后更新于