From 179f64369d6ea4f542f1cf510fba99a889f1af86 Mon Sep 17 00:00:00 2001 From: melvinzhang Date: Mon, 8 Jun 2015 10:56:15 +0800 Subject: [PATCH] use Task class so that exception is handled with currently registered DefaultUncaughtExceptionHandler, fixes no log issue --- src/magic/ai/MCTSAI.java | 12 +++--------- src/magic/ai/MMAB.java | 4 ++-- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/src/magic/ai/MCTSAI.java b/src/magic/ai/MCTSAI.java index b04fbaff0f..187288d41b 100644 --- a/src/magic/ai/MCTSAI.java +++ b/src/magic/ai/MCTSAI.java @@ -7,7 +7,6 @@ import magic.model.MagicGameLog; import magic.model.MagicPlayer; import magic.model.choice.MagicBuilderPayManaCostResult; import magic.model.event.MagicEvent; -import magic.exception.handler.ConsoleExceptionHandler; import java.util.ArrayList; import java.util.Collections; @@ -136,7 +135,6 @@ public class MCTSAI implements MagicAI { log("MCTS cached=" + root.getNumSim()); sims = 0; - final ConsoleExceptionHandler handler = new ConsoleExceptionHandler(); final ExecutorService executor = Executors.newFixedThreadPool(THREADS); final BlockingQueue queue = new LinkedBlockingQueue<>(); @@ -144,14 +142,10 @@ public class MCTSAI implements MagicAI { final int aiLevel = scorePlayer.getAiProfile().getAiLevel(); final long START_TIME = System.currentTimeMillis(); final long END_TIME = START_TIME + 1000 * aiLevel; - final Runnable updateTask = new Runnable() { + final Runnable updateTask = new Task() { @Override - public void run() { - try { - TreeUpdate(this, root, aiGame, executor, queue, END_TIME); - } catch (final Throwable ex) { - handler.uncaughtException(Thread.currentThread(), ex); - } + public void execute() { + TreeUpdate(this, root, aiGame, executor, queue, END_TIME); } }; diff --git a/src/magic/ai/MMAB.java b/src/magic/ai/MMAB.java index 6564f217d5..64427c6e4b 100644 --- a/src/magic/ai/MMAB.java +++ b/src/magic/ai/MMAB.java @@ -79,9 +79,9 @@ public class MMAB implements MagicAI { workerGame.setFastTarget(true); workerGame.setFastBlocker(true); - executor.execute(new Runnable() { + executor.execute(new Task() { @Override - public void run() { + public void execute() { final MMABWorker worker=new MMABWorker( Thread.currentThread().getId(), workerGame,