mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-05-23 05:35:00 +00:00
46 lines
1.0 KiB
Java
46 lines
1.0 KiB
Java
package com.jpexs.proxy;
|
|
|
|
import java.util.*;
|
|
|
|
public class ThreadPool implements Cleanable {
|
|
|
|
private String name;
|
|
private Vector pool = new Vector();
|
|
|
|
public ThreadPool(String name) {
|
|
this.name = name;
|
|
}
|
|
|
|
public synchronized ReusableThread get() {
|
|
ReusableThread rt = null;
|
|
|
|
if (pool.size() > 0) {
|
|
rt = (ReusableThread) pool.firstElement();
|
|
pool.removeElement(rt);
|
|
}
|
|
|
|
if (rt == null) {
|
|
rt = new ReusableThread(this);
|
|
rt.start();
|
|
}
|
|
|
|
return rt;
|
|
}
|
|
|
|
public synchronized void put(ReusableThread rt) {
|
|
pool.addElement(rt);
|
|
}
|
|
|
|
public synchronized void clean() {
|
|
long now = System.currentTimeMillis();
|
|
|
|
for (Enumeration e = pool.elements(); e.hasMoreElements();) {
|
|
ReusableThread rt = (ReusableThread) e.nextElement();
|
|
if (now - rt.getLastRunTime() >= 30000) {
|
|
rt.terminate();
|
|
pool.removeElement(rt);
|
|
}
|
|
}
|
|
}
|
|
}
|