gpt4 book ai didi

java - 使用信号量对数组进行排序

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

所以我们有一个任务是在 Java 中使用信号量对数组进行排序。这个任务非常简单,我在将近几分钟内解决了它,但最后一部分 - 合并。

我们的任务是将给定数组一分为二,同时对各部分进行排序(使用信号量),然后再次合并(使用信号量)。

我的问题是,使用多个线程合并它的目的是什么,因为在填充最终数组时每个线程都必须不断地等待对方,因为一次只有一个线程可以将元素推送到数组?

还是我遗漏了什么?谢谢。

最佳答案

您可以从结果数组的相对两侧合并两个不同的线程。每个线程最多应填充结果数组的一半。然后线程可以使用信号量作为“屏障”Implementing an N process barrier using semaphores互相等待。

关于java - 使用信号量对数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12788343/

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