annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
345
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
1 package alice.codesegment;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
2
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
3 import java.util.concurrent.LinkedBlockingQueue;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
4 import java.util.concurrent.ThreadPoolExecutor;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
5 import java.util.concurrent.TimeUnit;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
6
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
7 import org.apache.log4j.Logger;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
8
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
9 public class CodeSegmentManager {
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
10
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
11 private static CodeSegmentManager instance = new CodeSegmentManager();
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
12 private ThreadPoolExecutor codeSegmentExecutor = new ThreadPoolExecutor(Runtime.getRuntime().availableProcessors(), // initial number of threads
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
13 Runtime.getRuntime().availableProcessors(),
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
14 Integer.MAX_VALUE, // keepAliveTime
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
15 TimeUnit.SECONDS,
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
16 new LinkedBlockingQueue<Runnable>());
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
17 private Logger logger = Logger.getLogger(CodeSegmentManager.class);
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
18
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
19 public static CodeSegmentManager get() {
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
20 return instance;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
21 }
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
22
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
23 public static void submit(CodeSegment cs) {
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
24 CodeSegmentManager csManager = CodeSegmentManager.get();
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
25 csManager.codeSegmentExecutor.execute(cs);
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
26 if (csManager.logger.isDebugEnabled()) {
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
27 csManager.logger.debug(cs.getClass().getName());
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
28 }
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
29 }
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
30
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
31 }