diff --git a/core/src/net/sf/openrocket/startup/ConcurrentComponentPresetDatabaseLoader.java b/core/src/net/sf/openrocket/startup/ConcurrentComponentPresetDatabaseLoader.java index cc16ddc73..2e57fa5cf 100644 --- a/core/src/net/sf/openrocket/startup/ConcurrentComponentPresetDatabaseLoader.java +++ b/core/src/net/sf/openrocket/startup/ConcurrentComponentPresetDatabaseLoader.java @@ -49,7 +49,7 @@ public class ConcurrentComponentPresetDatabaseLoader { } }); - loaderPool = Executors.newFixedThreadPool(15, new ThreadFactory() { + loaderPool = Executors.newFixedThreadPool(3, new ThreadFactory() { int threadCount = 0; @Override public Thread newThread(Runnable r) { @@ -70,9 +70,9 @@ public class ConcurrentComponentPresetDatabaseLoader { public void await() throws InterruptedException { latch.await(); loaderPool.shutdown(); - loaderPool.awaitTermination(30, TimeUnit.SECONDS); + loaderPool.awaitTermination(90, TimeUnit.SECONDS); writerPool.shutdown(); - writerPool.awaitTermination(30, TimeUnit.SECONDS); + writerPool.awaitTermination(90, TimeUnit.SECONDS); iterator.close(); long end = System.currentTimeMillis(); log.debug("Time to load presets: " + (end-startTime) + "ms " + presetCount + " loaded from " + fileCount + " files"); diff --git a/core/src/net/sf/openrocket/startup/ConcurrentLoadingThrustCurveMotorSetDatabase.java b/core/src/net/sf/openrocket/startup/ConcurrentLoadingThrustCurveMotorSetDatabase.java index c52d72e19..2eba9b426 100644 --- a/core/src/net/sf/openrocket/startup/ConcurrentLoadingThrustCurveMotorSetDatabase.java +++ b/core/src/net/sf/openrocket/startup/ConcurrentLoadingThrustCurveMotorSetDatabase.java @@ -149,7 +149,7 @@ public class ConcurrentLoadingThrustCurveMotorSetDatabase extends ThrustCurveMot } }); - loaderPool = new ThreadPoolExecutor(25,25, 2, TimeUnit.SECONDS, + loaderPool = new ThreadPoolExecutor(10,10, 2, TimeUnit.SECONDS, new LinkedBlockingQueue(), new ThreadFactory() { int threadCount = 0; @@ -178,9 +178,9 @@ public class ConcurrentLoadingThrustCurveMotorSetDatabase extends ThrustCurveMot private void waitForFinish() throws InterruptedException { try { loaderPool.shutdown(); - loaderPool.awaitTermination(30, TimeUnit.SECONDS); + loaderPool.awaitTermination(90, TimeUnit.SECONDS); writerThread.shutdown(); - writerThread.awaitTermination(30, TimeUnit.SECONDS); + writerThread.awaitTermination(90, TimeUnit.SECONDS); } finally { iterator.close();