📄 filethreadfactory.java
字号:
package com.msd;
import java.util.HashMap;
public class FileThreadFactory {
private static FileThreadFactory instance = null;
private HashMap threadManager = null;
private int keyNum = 0;
private FileThreadFactory() {
this.threadManager = new HashMap(5);
}
public synchronized static void create() {
if(instance == null)
instance = new FileThreadFactory();
}
public static FileThreadFactory getInstance() {
if(instance == null)
throw new NullPointerException("FileThreadFactory is null");
return instance;
}
public void init() {
addThread();
}
private void addThread() {
StringBuffer keybf = new StringBuffer("T");
keybf.append(keyNum);
String key = keybf.toString();
FileThread ftd = new FileThread(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 + -