Mercurial > hg > Database > Christie
diff src/main/java/christie/codegear/StartCodeGear.java @ 2:bacdcb5e6dcf
change StartCodeGear static
author | Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 12 Dec 2017 16:48:30 +0900 |
parents | 3ea61d0bfc34 |
children | e3bb0eea73f2 |
line wrap: on
line diff
--- a/src/main/java/christie/codegear/StartCodeGear.java Mon Dec 11 21:19:25 2017 +0900 +++ b/src/main/java/christie/codegear/StartCodeGear.java Tue Dec 12 16:48:30 2017 +0900 @@ -1,19 +1,25 @@ package christie.codegear; +import java.util.HashMap; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; public interface StartCodeGear { - default CodeGearManager createCodeGearManager(ThreadPoolExecutor exe){ - return new CodeGearManager(exe); + HashMap<String, CodeGearManager> cgms = new HashMap<String, CodeGearManager>(); + ThreadPoolExecutor threadPool = new ThreadPoolExecutor(Runtime.getRuntime().availableProcessors(), // initial number of threads + Runtime.getRuntime().availableProcessors(), + Integer.MAX_VALUE, // keepAliveTime + TimeUnit.SECONDS, + new LinkedBlockingQueue<Runnable>()); + + static CodeGearManager createCGM(String name){ + CodeGearManager cgm = new CodeGearManager(threadPool); + cgms.put(name, cgm); + return cgm; } - default ThreadPoolExecutor createThreadPool(){ - return new ThreadPoolExecutor(Runtime.getRuntime().availableProcessors(), // initial number of threads - Runtime.getRuntime().availableProcessors(), - Integer.MAX_VALUE, // keepAliveTime - TimeUnit.SECONDS, - new LinkedBlockingQueue<Runnable>()); + static CodeGearManager getCGM(String name){ + return cgms.get(name); } }