4c87dd108972a04376a18e1bda14090fbd4c298c
java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/MarkPassingCalculator.java
| ... | ... | @@ -63,8 +63,8 @@ public class MarkPassingCalculator { |
| 63 | 63 | private CandidateChooser chooser; |
| 64 | 64 | private static final Logger logger = Logger.getLogger(MarkPassingCalculator.class.getName()); |
| 65 | 65 | private final MarkPassingUpdateListener listener; |
| 66 | - private final static ExecutorService executor = ThreadPoolUtil.INSTANCE |
|
| 67 | - .getDefaultBackgroundTaskThreadPoolExecutor(); |
|
| 66 | + private final static ExecutorService executor = ThreadPoolUtil.INSTANCE.getDefaultBackgroundTaskThreadPoolExecutor(); |
|
| 67 | + private final static ExecutorService initializationExecutor = ThreadPoolUtil.INSTANCE.createBackgroundTaskThreadPoolExecutor("MarkPassingCalculator initializations"); |
|
| 68 | 68 | private final LinkedBlockingQueue<StorePositionUpdateStrategy> queue; |
| 69 | 69 | |
| 70 | 70 | /** |
| ... | ... | @@ -149,7 +149,7 @@ public class MarkPassingCalculator { |
| 149 | 149 | } else { |
| 150 | 150 | listen = null; |
| 151 | 151 | } |
| 152 | - Thread t = new Thread(() -> { |
|
| 152 | + final Runnable waitForInitialization = () -> { |
|
| 153 | 153 | final Set<Callable<Void>> tasks = new HashSet<>(); |
| 154 | 154 | for (Competitor c : race.getRace().getCompetitors()) { |
| 155 | 155 | tasks.add(race.getTrackedRegatta().cpuMeterCallable(() -> { |
| ... | ... | @@ -173,11 +173,11 @@ public class MarkPassingCalculator { |
| 173 | 173 | } |
| 174 | 174 | } |
| 175 | 175 | } |
| 176 | - }, "MarkPassingCalculator for race " + race.getRaceIdentifier() + " initialization"); |
|
| 176 | + }; |
|
| 177 | 177 | if (waitForInitialMarkPassingCalculation) { |
| 178 | - t.run(); |
|
| 178 | + waitForInitialization.run(); |
|
| 179 | 179 | } else { |
| 180 | - t.start(); |
|
| 180 | + initializationExecutor.submit(waitForInitialization); |
|
| 181 | 181 | } |
| 182 | 182 | } |
| 183 | 183 |