gpt4 book ai didi

multithreading - 在多线程应用程序中使用屏障的真实示例是什么?

转载 作者:行者123 更新时间:2023-12-03 12:44:56 32 4
gpt4 key购买 nike

JDK 的并发包、Boost 的线程库、Perl 的线程库(虽然不是在 Python 中)都实现了屏障,我还没有遇到过使用屏障的需要,所以想知道多线程中的典型用例是什么应用程序。

最佳答案

障碍可以通过人为的示例在任何地方使用,但您通常会在分散/减少方法中看到它们,其中在继续之前需要所有不同线程的结果。

如果您想并行化排序,例如,您可以将列表拆分 n 次并启动 n 个线程以对其部分进行排序并暂停,当它们全部完成时,它们会死,让父级知道最终可以合并排序的 block 。 (我知道有更好的方法,但这是一种实现)。

我见过的另一个地方是并行网络,您必须为每个有效负载发送一定数量的数据。所以接口(interface)会启动n个桶并等待它们全部填满,然后再发送传输。当你考虑一个分区的 T1 线时,它是有道理的,在 64 个多路复用分区上发送一个数据突发比发送 1 个分区的数据要好(这基本上成本相同,因为数据包必须用 0 填充。)

希望这些事情能让你思考这个问题!

关于multithreading - 在多线程应用程序中使用屏障的真实示例是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1837283/

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