annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6
c78a1cc2cd8f implements Reply
one
parents:
diff changeset
1 package alice.codesegment;
c78a1cc2cd8f implements Reply
one
parents:
diff changeset
2
c78a1cc2cd8f implements Reply
one
parents:
diff changeset
3 import java.util.concurrent.LinkedBlockingQueue;
21
145667a554ad run CodeSegment with ThreadPoolExecutor
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
4 import java.util.concurrent.ThreadPoolExecutor;
145667a554ad run CodeSegment with ThreadPoolExecutor
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
5 import java.util.concurrent.TimeUnit;
6
c78a1cc2cd8f implements Reply
one
parents:
diff changeset
6
39
3155337e754e add logger
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
7 import org.apache.log4j.Logger;
3155337e754e add logger
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
8
6
c78a1cc2cd8f implements Reply
one
parents:
diff changeset
9 public class CodeSegmentManager {
44
73158dc54c59 fix peek api
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 39
diff changeset
10
6
c78a1cc2cd8f implements Reply
one
parents:
diff changeset
11 private static CodeSegmentManager instance = new CodeSegmentManager();
70
f2d4a4686036 delete CodeSegment receive thread
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 68
diff changeset
12 private ThreadPoolExecutor codeSegmentExecutor = new ThreadPoolExecutor(Runtime.getRuntime().availableProcessors(), // initial number of threads
335
2f003d5703d5 Meta CodeSegment Test
sugi
parents: 282
diff changeset
13 Runtime.getRuntime().availableProcessors(),
2f003d5703d5 Meta CodeSegment Test
sugi
parents: 282
diff changeset
14 Integer.MAX_VALUE, // keepAliveTime
2f003d5703d5 Meta CodeSegment Test
sugi
parents: 282
diff changeset
15 TimeUnit.SECONDS,
2f003d5703d5 Meta CodeSegment Test
sugi
parents: 282
diff changeset
16 new LinkedBlockingQueue<Runnable>());
71
a3a2605e16a2 change checking debug mode of logger
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 70
diff changeset
17 private Logger logger = Logger.getLogger(CodeSegmentManager.class);
70
f2d4a4686036 delete CodeSegment receive thread
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 68
diff changeset
18
6
c78a1cc2cd8f implements Reply
one
parents:
diff changeset
19 public static CodeSegmentManager get() {
c78a1cc2cd8f implements Reply
one
parents:
diff changeset
20 return instance;
c78a1cc2cd8f implements Reply
one
parents:
diff changeset
21 }
57
7fa9ddb31f64 add comment
one
parents: 44
diff changeset
22
7fa9ddb31f64 add comment
one
parents: 44
diff changeset
23 public static void submit(CodeSegment cs) {
335
2f003d5703d5 Meta CodeSegment Test
sugi
parents: 282
diff changeset
24 if (cs.hasMeta()){
2f003d5703d5 Meta CodeSegment Test
sugi
parents: 282
diff changeset
25 try {
2f003d5703d5 Meta CodeSegment Test
sugi
parents: 282
diff changeset
26 CodeSegment meta = cs.getMetaClass().newInstance();
2f003d5703d5 Meta CodeSegment Test
sugi
parents: 282
diff changeset
27 meta.setCodeSegment(cs);
2f003d5703d5 Meta CodeSegment Test
sugi
parents: 282
diff changeset
28 meta.setKey();
2f003d5703d5 Meta CodeSegment Test
sugi
parents: 282
diff changeset
29
2f003d5703d5 Meta CodeSegment Test
sugi
parents: 282
diff changeset
30 } catch (Exception e) {
2f003d5703d5 Meta CodeSegment Test
sugi
parents: 282
diff changeset
31 e.printStackTrace();
2f003d5703d5 Meta CodeSegment Test
sugi
parents: 282
diff changeset
32 }
2f003d5703d5 Meta CodeSegment Test
sugi
parents: 282
diff changeset
33
2f003d5703d5 Meta CodeSegment Test
sugi
parents: 282
diff changeset
34 } else {
2f003d5703d5 Meta CodeSegment Test
sugi
parents: 282
diff changeset
35 CodeSegmentManager csManager = CodeSegmentManager.get();
2f003d5703d5 Meta CodeSegment Test
sugi
parents: 282
diff changeset
36 csManager.codeSegmentExecutor.execute(cs);
2f003d5703d5 Meta CodeSegment Test
sugi
parents: 282
diff changeset
37 if (csManager.logger.isDebugEnabled()) {
2f003d5703d5 Meta CodeSegment Test
sugi
parents: 282
diff changeset
38 csManager.logger.debug(cs.getClass().getName());
2f003d5703d5 Meta CodeSegment Test
sugi
parents: 282
diff changeset
39 }
57
7fa9ddb31f64 add comment
one
parents: 44
diff changeset
40 }
7fa9ddb31f64 add comment
one
parents: 44
diff changeset
41 }
335
2f003d5703d5 Meta CodeSegment Test
sugi
parents: 282
diff changeset
42
6
c78a1cc2cd8f implements Reply
one
parents:
diff changeset
43 }