我正在创建一个进行大量图像处理的撞球台应用程序。我想将一些动作分成单独的线程。在我的示例中,我想做3个不同的线程:
1)搜索摄像机图像上的球
2)为投影仪创建模式(更改背景图像,进行某些透视变形等)
3)搜索提示并进行一些数学运算
此后,我想连接这3个线程的所有信息。当我这样做时:
new Thread(() -> {
tss.next()
.findBalls();
}).start();
new Thread(() -> {
tss.setProjectorMode(true);
try {
tss.projectorMode();
} catch (LineServiceException | FileNotFoundException | InterruptedException e) {
e.printStackTrace();
}
}).start();
new Thread(() -> {
// Dynamic mode
if (0 == configurableProperties.getGameMode()) {
tss
.findCue()
.makePredictions()
.detectCollision();
}
}).start();
this.table = tss.build();
然后所有3个线程都单独工作,但是我的tss.build无法正常工作,因为即使这些线程仍在进行中,它也会启动。如何使这个“构建”等待所有这些线程结束?