From 36b0dae63c47eddef7972b4b32a025df08146869 Mon Sep 17 00:00:00 2001 From: Nelson Tavares de Sousa <ntd@informatik.uni-kiel.de> Date: Thu, 16 Apr 2015 14:42:06 +0200 Subject: [PATCH] every stage knows now the thread in which it is running --- .../teetime/framework/AbstractRunnableStage.java | 10 ---------- src/main/java/teetime/framework/Analysis.java | 15 +++++++++------ src/site/markdown/wiki | 2 +- 3 files changed, 10 insertions(+), 17 deletions(-) diff --git a/src/main/java/teetime/framework/AbstractRunnableStage.java b/src/main/java/teetime/framework/AbstractRunnableStage.java index bdb27075..428b679b 100644 --- a/src/main/java/teetime/framework/AbstractRunnableStage.java +++ b/src/main/java/teetime/framework/AbstractRunnableStage.java @@ -15,8 +15,6 @@ */ package teetime.framework; -import java.util.Set; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -28,7 +26,6 @@ import teetime.framework.signal.TerminatingSignal; abstract class AbstractRunnableStage implements Runnable { private final AbstractExceptionListener exceptionHandler; - private Set<Stage> intraStages; private static final String TERMINATING_THREAD_DUE_TO_THE_FOLLOWING_EXCEPTION = "Terminating thread due to the following exception: "; @@ -91,11 +88,4 @@ abstract class AbstractRunnableStage implements Runnable { protected abstract void afterStageExecution(Stage stage); - public Set<Stage> getIntraStages() { - return intraStages; - } - - public void setIntraStages(final Set<Stage> intraStages) { - this.intraStages = intraStages; - } } diff --git a/src/main/java/teetime/framework/Analysis.java b/src/main/java/teetime/framework/Analysis.java index 43be9ee4..d62b3831 100644 --- a/src/main/java/teetime/framework/Analysis.java +++ b/src/main/java/teetime/framework/Analysis.java @@ -137,27 +137,30 @@ public final class Analysis<T extends AnalysisConfiguration> implements Uncaught switch (stage.getTerminationStrategy()) { case BY_SIGNAL: { final RunnableConsumerStage runnableConsumerStage = new RunnableConsumerStage(stage, newListener); - runnableConsumerStage.setIntraStages(intraStages); final Thread thread = new Thread(runnableConsumerStage); - stage.setOwningThread(thread); + for (Stage intraStage : intraStages) { + intraStage.setOwningThread(thread); + } this.consumerThreads.add(thread); thread.setName(stage.getId()); break; } case BY_SELF_DECISION: { final RunnableProducerStage runnable = new RunnableProducerStage(stage, newListener); - runnable.setIntraStages(intraStages); final Thread thread = new Thread(runnable); - stage.setOwningThread(thread); + for (Stage intraStage : intraStages) { + intraStage.setOwningThread(thread); + } this.finiteProducerThreads.add(thread); thread.setName(stage.getId()); break; } case BY_INTERRUPT: { final RunnableProducerStage runnable = new RunnableProducerStage(stage, newListener); - runnable.setIntraStages(intraStages); final Thread thread = new Thread(runnable); - stage.setOwningThread(thread); + for (Stage intraStage : intraStages) { + intraStage.setOwningThread(thread); + } this.infiniteProducerThreads.add(thread); thread.setName(stage.getId()); break; diff --git a/src/site/markdown/wiki b/src/site/markdown/wiki index 0e447457..162510ff 160000 --- a/src/site/markdown/wiki +++ b/src/site/markdown/wiki @@ -1 +1 @@ -Subproject commit 0e4474577e1f49bc96e734c286b2d9e0363895e8 +Subproject commit 162510ff4d2f04011498ba6920aae0c78347c6c8 -- GitLab