线程池

package com.ctl.util;

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

public class DButils {
private static String driver;
private static String url;
private static String username;
private static String password;
private static Connection conn;
private static ThreadLocal<Connection> connHolder=new ThreadLocal<Connection>();
static{
	driver=ConfigUtils.getType("mysql.driver");
	url=ConfigUtils.getType("mysql.url");
	username=ConfigUtils.getType("mysql.username");
	password=ConfigUtils.getType("mysql.password");
}
public static Connection getConnection() throws SQLException, ClassNotFoundException{
	 conn=connHolder.get();
	 if(conn==null||conn.isClosed()){
		 Class.forName(driver);
		 conn=DriverManager.getConnection(url,username,password);
		 conn.setAutoCommit(false);
		 connHolder.set(conn);
	 }
	return conn;
}
public static void close() throws SQLException{
	conn.close();
	connHolder.set(null);
}
}
这样多个不同的应用程序可以同时获得到一个connection
 
 
如果将SocketServer 放入线程池 那么在同一个机器上运行的客户端就可以获取同一个 Socketserver 对象
 

你可能感兴趣的:(线程池)