import static java.awt.event.KeyEvent.VK_Y;
import static java.awt.event.KeyEvent.VK_Z;
import static javax.swing.KeyStroke.getKeyStroke;
-
import java.awt.*;
import java.awt.event.*;
import java.lang.reflect.*;
import java.util.*;
-
+import java.util.concurrent.*;
import javax.swing.*;
import javax.swing.text.*;
import javax.swing.undo.*;
-
import net.argius.stew.*;
/**
*/
final class AnyAction extends AbstractAction implements Runnable {
+ /** Thread Pool using Daemon Thread */
+ private static final ExecutorService threadPool = Executors.newCachedThreadPool(DaemonThreadFactory.getInstance());
+
/** AnyActionListener, JComponent, or JTextComponent */
private Object o;
void doParallel(String methodName, final Object... args) {
final String label = "AnyAction#doParallel";
- DaemonThreadFactory.execute(new Task(label, o, resolveMethod(methodName), args));
+ doParallel(new Task(label, o, resolveMethod(methodName), args));
+ }
+
+ static void doParallel(Runnable runnable) {
+ threadPool.execute(runnable);
}
private static final class Task implements Runnable {
latch.countDown();
}
}
- DaemonThreadFactory.execute(new SqlTask());
+ AnyAction.doParallel(new SqlTask());
try {
// waits for a task to stop
latch.await(3L, TimeUnit.SECONDS);
}
}
}
- DaemonThreadFactory.execute(new SqlTaskErrorHandler());
+ AnyAction.doParallel(new SqlTaskErrorHandler());
} else if (!errors.isEmpty()) {
if (log.isDebugEnabled()) {
for (final Exception ex : errors) {