您的位置:首页 > 其它

008-ThreadLocal

2017-12-13 21:09 85 查看

一、基本用法

  ThreadLocal是一个容器,用于存放线程的局部变量。如果ThreadLocalVariable(线程局部变量)更加好理解。

  在Jdk 1.2 java.lang.ThreadLocal开始使用,他是为解决多线程并发设计的.

  示例序列号生成,保证每个线程生成唯一序列号

编写Sequence接口

package com.lhx.test.dbutil2;

import java.sql.Connection;
import java.sql.DriverManager;

public class DBUtil {
private static final String driver = "com.mysql.jdbc.Driver";
private static final String url = "jdbc:mysql://localhost:3306/demo";
private static final String username = "root";
private static final String password = "root";

private static ThreadLocal<Connection> conContainer = new ThreadLocal<>();

public static Connection getConnection() {
Connection conn = conContainer.get();
try {
if (conn == null) {
Class.forName(driver);
conn = DriverManager.getConnection(url, username, password);
}
} catch (Exception e) {
e.printStackTrace();
}
finally {
conContainer.set(conn);
}
return conn;
}

public static void colseConnection() {
Connection conn = conContainer.get();
try {
if (conn != null) {
conn.close();
}
} catch (Exception e) {
e.printStackTrace();
}
finally {
conContainer.remove();
}
}
}


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: