根据javadoc
,Phaser
类,
可以对相位器进行分层(即,以树形结构构造)以减少争用。然而,可以设置具有大量方的否则会经历大量同步争用成本的相位器,使得子组的子组共享共同的父级。这可能会大大提高吞吐量,即使它会产生更大的每个操作开销。
任何人都可以澄清这句话,这给了我一些困惑。
答案 0 :(得分:2)
平衡树在递归分解程序中运行良好。其中一个例子是Java7中的Fork / Join框架。我想分层被添加到Phasers作为另一种使用这个框架的方式,但成本太高了。当一个阶段必须等待到达时,框架会创建另一个线程来代替它。对于大量的服务员来说,这可能是一场灾难。您可以通过从我两年前撰写的this文章中下载示例软件来自行查看。