2013-05-30 50 views
1

按照javadoc,在Phaser類,移相器級和分層

移相器可被分層(即,在樹形結構構成),以降低爭用。具有大量當事方的階段公司可能會遭遇嚴重的同步爭用成本,反而可能會設立一些分階段的小組以共享一個共同的母公司。這可能會大大增加吞吐量,即使它會導致更高的每操作開銷。

有人能澄清一下這個說法嗎,它給了我一些困惑。

回答

2

平衡樹在遞歸分解程序中運行良好。其中一個例子是Java7中的Fork/Join框架。我認爲分層架構被添加到Phasers作爲使用這個框架的另一種方式,但成本非常可觀。當一個階段必須等待到達時,框架會創建另一個線程來取代它。對於大量的服務員來說,這可能是一場災難。您可以通過從兩年前寫的文章this下載示例軟件來看到它自己的工作方式。