Mercurial > hg > Members > tatsuki > Alice
diff src/main/java/alice/codesegment/CodeSegmentManager.java @ 345:8f71c3e6f11d
Change directory structure Maven standard
author | sugi |
---|---|
date | Wed, 16 Apr 2014 18:26:07 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/alice/codesegment/CodeSegmentManager.java Wed Apr 16 18:26:07 2014 +0900 @@ -0,0 +1,31 @@ +package alice.codesegment; + +import java.util.concurrent.LinkedBlockingQueue; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; + +import org.apache.log4j.Logger; + +public class CodeSegmentManager { + + private static CodeSegmentManager instance = new CodeSegmentManager(); + private ThreadPoolExecutor codeSegmentExecutor = new ThreadPoolExecutor(Runtime.getRuntime().availableProcessors(), // initial number of threads + Runtime.getRuntime().availableProcessors(), + Integer.MAX_VALUE, // keepAliveTime + TimeUnit.SECONDS, + new LinkedBlockingQueue<Runnable>()); + private Logger logger = Logger.getLogger(CodeSegmentManager.class); + + public static CodeSegmentManager get() { + return instance; + } + + public static void submit(CodeSegment cs) { + CodeSegmentManager csManager = CodeSegmentManager.get(); + csManager.codeSegmentExecutor.execute(cs); + if (csManager.logger.isDebugEnabled()) { + csManager.logger.debug(cs.getClass().getName()); + } + } + +}