📄 collectthreadfactory.java
字号:
package com.msd;
import java.util.HashMap;
import java.sql.*;
public class CollectThreadFactory {
private static CollectThreadFactory instance = null;
private HashMap threadManager = null;
private int keyNum = 0;
private CollectThreadFactory() {
this.threadManager = new HashMap(5);
try {
Driver _driver=(Driver)Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
DriverManager.registerDriver(_driver);
} catch(Exception e) { }
}
public synchronized static void create() {
if(instance == null)
instance = new CollectThreadFactory();
}
public static CollectThreadFactory getInstance() {
if(instance == null)
throw new NullPointerException("CollectThreadFactory is null");
return instance;
}
public void init() {
addThread();
}
private void addThread() {
StringBuffer keybf = new StringBuffer("T");
keybf.append(keyNum);
String key = keybf.toString();
CollectThread ftd = new CollectThread(key);
Thread t = new Thread(ftd);
t.start();
threadManager.put(key,ftd);
keyNum++;
}
private void removeThread(String key) {
threadManager.remove(key);
}
public synchronized void ExceptionOut(String key) {
removeThread(key);
if(threadManager.isEmpty()) {
addThread();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -