diff --git a/src/main/java/com/github/nkzawa/thread/EventThread.java b/src/main/java/com/github/nkzawa/thread/EventThread.java index 6f7c339..8173f9d 100644 --- a/src/main/java/com/github/nkzawa/thread/EventThread.java +++ b/src/main/java/com/github/nkzawa/thread/EventThread.java @@ -70,9 +70,13 @@ public class EventThread extends Thread { getExecutorService().execute(new Runnable() { @Override public void run() { - task.run(); - if (counter.decrementAndGet() == 0) { - service.shutdown(); + try { + task.run(); + } finally { + if (counter.decrementAndGet() == 0) { + service.shutdown(); + thread = null; + } } } });