2013-05-30 51 views
1

按照javadoc,在Phaser类,移相器级和分层

移相器可被分层(即,在树形结构构成),以降低争用。具有大量当事方的阶段公司可能会遭遇严重的同步争用成本,反而可能会设立一些分阶段的小组以共享一个共同的母公司。这可能会大大增加吞吐量,即使它会导致更高的每操作开销。

有人能澄清一下这个说法吗,它给了我一些困惑。

回答

2

平衡树在递归分解程序中运行良好。其中一个例子是Java7中的Fork/Join框架。我认为分层架构被添加到Phasers作为使用这个框架的另一种方式,但成本非常可观。当一个阶段必须等待到达时,框架会创建另一个线程来取代它。对于大量的服务员来说,这可能是一场灾难。您可以通过从两年前写的文章this下载示例软件来看到它自己的工作方式。