gpt4 book ai didi

java - 具有许多线程的 CyclicBarrier 性能较差 : Would a tree-like synchronization structure be an alternative?

转载 作者:行者123 更新时间:2023-11-30 07:22:33 24 4
gpt4 key购买 nike

我们的应用程序要求所有工作线程在定义的点进行同步。为此,我们使用了 CyclicBarrier,但它似乎无法很好地扩展。对于超过八个线程,同步开销似乎超过了多线程的好处。 (但是,我不能用测量数据来支持这一点。)

编辑:同步发生的频率非常高,大约为 100k 到 1M 次。

如果多个线程的同步是“困难的”,它是否有助于构建同步树?线程 1 等待 2 和 3,它们依次等待 4+5 和 6+7,等等;完成后,线程 2 和 3 等待线程 1,线程 4 和 5 等待线程 2,依此类推。

1
| \
2 3
|\ |\
4 5 6 7

这样的设置会减少同步开销吗?如果有任何建议,我将不胜感激。

另请参阅此特色问题:What is the fastest cyclic synchronization in Java (ExecutorService vs. CyclicBarrier vs. X)?

最佳答案

With more than eight threads, the synchronization overhead seems to outweigh the benefits of multithreading. (However, I cannot support this with measurement data.)

老实说,你的问题就在那里。找出一个性能基准并证明这是问题所在,否则冒着花费数小时/数天时间解决完全错误的问题的风险。

关于java - 具有许多线程的 CyclicBarrier 性能较差 : Would a tree-like synchronization structure be an alternative?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12631078/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com