Tweak the pool sizes and allow for longer time to load things. This improves reliabi...
authorkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Thu, 23 Aug 2012 02:30:11 +0000 (02:30 +0000)
committerkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Thu, 23 Aug 2012 02:30:11 +0000 (02:30 +0000)
git-svn-id: https://openrocket.svn.sourceforge.net/svnroot/openrocket/trunk@988 180e2498-e6e9-4542-8430-84ac67f01cd8

core/src/net/sf/openrocket/startup/ConcurrentComponentPresetDatabaseLoader.java
core/src/net/sf/openrocket/startup/ConcurrentLoadingThrustCurveMotorSetDatabase.java

index cc16ddc73bc4b81e9ba121838eb111b66ae90a17..2e57fa5cff4771fa68218a0a05eca79b57032ef3 100644 (file)
@@ -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");
index c52d72e19e09255e206ed7648f854f2c2ae3248e..2eba9b426206018e08596b273a8f633f70b731b6 100644 (file)
@@ -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<Runnable>(),
                                        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();