Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 15f16fc

Browse files
codingforkind@163.comcodingforkind@163.com
codingforkind@163.com
authored and
codingforkind@163.com
committed
re
1 parent 99b0e33 commit 15f16fc

File tree

1 file changed

+23
-5
lines changed

1 file changed

+23
-5
lines changed

‎mirror-common/src/main/java/cn/com/mirror/reflect/EdgeConstructor.java‎

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,27 +16,30 @@
1616
import cn.com.mirror.repository.neo4j.node.*;
1717
import cn.com.mirror.repository.neo4j.storage.GraphEngine;
1818
import cn.com.mirror.utils.FileUtils;
19-
import lombok.Data;
2019
import lombok.extern.slf4j.Slf4j;
2120

2221
import java.util.HashMap;
2322
import java.util.Map;
2423
import java.util.Set;
24+
import java.util.concurrent.CountDownLatch;
25+
import java.util.concurrent.ExecutorService;
26+
import java.util.concurrent.Executors;
2527

2628
/**
2729
* @author piggy
2830
* @description
2931
* @date 18-8-10
3032
*/
31-
@Data
3233
@Slf4j
3334
public class EdgeConstructor {
35+
private ProjectProperty projectProperty;
3436

3537
private Unit unit;
3638
private Pair pair;
3739
private Map<String, NodeFactory> nodeFactoryMap;
3840

39-
private ProjectProperty projectProperty;
41+
private final Integer poolSize = 2;
42+
private ExecutorService executorService = Executors.newFixedThreadPool(poolSize);
4043

4144
public EdgeConstructor() {
4245
this(LocalLoader.getPrjProperty());
@@ -49,8 +52,23 @@ public EdgeConstructor(ProjectProperty projectProperty) {
4952
PairAnalyser pairAnalyser = new PairAnalyser();
5053
UnitAnalyser unitAnalyser = new UnitAnalyser();
5154

52-
unit = unitAnalyser.analyze(projectProperty);
53-
pair = pairAnalyser.analyze(projectProperty);
55+
CountDownLatch countDownLatch = new CountDownLatch(poolSize);
56+
executorService.execute(() -> {
57+
unit = unitAnalyser.analyze(projectProperty);
58+
countDownLatch.countDown();
59+
});
60+
executorService.execute(() -> {
61+
pair = pairAnalyser.analyze(projectProperty);
62+
countDownLatch.countDown();
63+
});
64+
65+
try {
66+
countDownLatch.await();
67+
} catch (InterruptedException e) {
68+
e.printStackTrace();
69+
}
70+
71+
executorService.shutdown();
5472
}
5573

5674
public void construct() {

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /