Mercurial > hg > Database > Alice
comparison src/alice/codesegment/CodeSegmentManager.java @ 335:2f003d5703d5 META_CODESEGMENT
Meta CodeSegment Test
author | sugi |
---|---|
date | Mon, 14 Apr 2014 15:46:29 +0900 |
parents | 1caa6970cf01 |
children | 5fa184113850 |
comparison
equal
deleted
inserted
replaced
334:c0c00f8f5525 | 335:2f003d5703d5 |
---|---|
8 | 8 |
9 public class CodeSegmentManager { | 9 public class CodeSegmentManager { |
10 | 10 |
11 private static CodeSegmentManager instance = new CodeSegmentManager(); | 11 private static CodeSegmentManager instance = new CodeSegmentManager(); |
12 private ThreadPoolExecutor codeSegmentExecutor = new ThreadPoolExecutor(Runtime.getRuntime().availableProcessors(), // initial number of threads | 12 private ThreadPoolExecutor codeSegmentExecutor = new ThreadPoolExecutor(Runtime.getRuntime().availableProcessors(), // initial number of threads |
13 Runtime.getRuntime().availableProcessors(), | 13 Runtime.getRuntime().availableProcessors(), |
14 Integer.MAX_VALUE, // keepAliveTime | 14 Integer.MAX_VALUE, // keepAliveTime |
15 TimeUnit.SECONDS, | 15 TimeUnit.SECONDS, |
16 new LinkedBlockingQueue<Runnable>()); | 16 new LinkedBlockingQueue<Runnable>()); |
17 private Logger logger = Logger.getLogger(CodeSegmentManager.class); | 17 private Logger logger = Logger.getLogger(CodeSegmentManager.class); |
18 | 18 |
19 public static CodeSegmentManager get() { | 19 public static CodeSegmentManager get() { |
20 return instance; | 20 return instance; |
21 } | 21 } |
22 | 22 |
23 public static void submit(CodeSegment cs) { | 23 public static void submit(CodeSegment cs) { |
24 CodeSegmentManager csManager = CodeSegmentManager.get(); | 24 if (cs.hasMeta()){ |
25 csManager.codeSegmentExecutor.execute(cs); | 25 try { |
26 if (csManager.logger.isDebugEnabled()) { | 26 CodeSegment meta = cs.getMetaClass().newInstance(); |
27 csManager.logger.debug(cs.getClass().getName()); | 27 meta.setCodeSegment(cs); |
28 meta.setKey(); | |
29 | |
30 } catch (Exception e) { | |
31 e.printStackTrace(); | |
32 } | |
33 | |
34 } else { | |
35 CodeSegmentManager csManager = CodeSegmentManager.get(); | |
36 csManager.codeSegmentExecutor.execute(cs); | |
37 if (csManager.logger.isDebugEnabled()) { | |
38 csManager.logger.debug(cs.getClass().getName()); | |
39 } | |
28 } | 40 } |
29 } | 41 } |
30 | 42 |
31 } | 43 } |