]> git.gag.com Git - debian/openrocket/commitdiff
Switch to a LinkedBlockingQueue in front of the loader thread pool because it elimina...
authorkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Fri, 11 May 2012 03:21:27 +0000 (03:21 +0000)
committerkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Fri, 11 May 2012 03:21:27 +0000 (03:21 +0000)
git-svn-id: https://openrocket.svn.sourceforge.net/svnroot/openrocket/trunk@667 180e2498-e6e9-4542-8430-84ac67f01cd8

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

index 3f6e9fcbb9190b74a182487eb4685df4304f3cd2..0a12605b63c556384304c045fb74b1ba6fa010f3 100644 (file)
@@ -6,14 +6,15 @@ import java.io.InputStream;
 import java.util.List;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
+import java.util.concurrent.LinkedBlockingQueue;
 import java.util.concurrent.ThreadFactory;
+import java.util.concurrent.ThreadPoolExecutor;
 import java.util.concurrent.TimeUnit;
 
 import net.sf.openrocket.database.ThrustCurveMotorSet;
 import net.sf.openrocket.database.ThrustCurveMotorSetDatabase;
 import net.sf.openrocket.file.iterator.DirectoryIterator;
 import net.sf.openrocket.file.iterator.FileIterator;
-import net.sf.openrocket.file.motor.GeneralMotorLoader;
 import net.sf.openrocket.file.motor.MotorLoaderHelper;
 import net.sf.openrocket.gui.util.SimpleFileFilter;
 import net.sf.openrocket.gui.util.SwingPreferences;
@@ -131,7 +132,9 @@ public class ConcurrentLoadingThrustCurveMotorSetDatabase extends ThrustCurveMot
                                }
                        });
 
-                       loaderPool = Executors.newFixedThreadPool(25, new ThreadFactory() {
+                       loaderPool = new ThreadPoolExecutor(25,25, 2, TimeUnit.SECONDS,
+                                       new LinkedBlockingQueue<Runnable>(),
+                                       new ThreadFactory() {
                                int threadCount = 0;
                                @Override
                                public Thread newThread(Runnable r) {