我必须在主线程中等待工作线程的终止,然后(在某些情况下)我启动这些线程并再次等待终止,等等。
通话join()
效果很好,但我想做得更快。
Phaser 看起来像我正在寻找的东西,但我做错了:
//*** application start ***
//create "empty" Phaser
//*** main thread ***
//event occured - start working threads
phaser.register();
//start working threads...
phaser.arriveAndAwaitAdvance(); //add arriveAndDeregister()?
// *** working thread start ***
phaser.register();
// do sth ...
// *** working thread end ***
phaser.arrive(); // replace with arriveAndDeregister()?