Mercurial > hg > Database > Christie
view src/main/java/christie/codegear/StartCodeGear.java @ 29:be58bfe90766
remove synchronized
author | Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 01 Feb 2018 20:12:02 +0900 |
parents | 76fac42a840e |
children | ad49723367c2 |
line wrap: on
line source
package christie.codegear; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; public abstract class StartCodeGear extends CodeGear{ static ConcurrentHashMap<Integer, CodeGearManager> cgmList = new ConcurrentHashMap<>(); static LinkedBlockingQueue<Runnable> taskQueue = new LinkedBlockingQueue<Runnable>(); static ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(Runtime.getRuntime().availableProcessors(), // initial number of threads Runtime.getRuntime().availableProcessors(), Integer.MAX_VALUE, // keepAliveTime TimeUnit.SECONDS, taskQueue); static int cgmCount = 1; public StartCodeGear(CodeGearManager cgm){ cgm.setup(this); } public static CodeGearManager createCGM(int localPort){ CodeGearManager cgm = new CodeGearManager(cgmCount, threadPoolExecutor, cgmList, localPort); cgmList.put(cgmCount++, cgm); return cgm; } public static CodeGearManager getCGM(String name){ return cgmList.get(name); } @Override protected void run(CodeGearManager cgm) {} }