gpt4 book ai didi

java - 为什么 Java 8 有 Arrays.parallelSort() 但没有 Collections.parallelSort()?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:55:41 26 4
gpt4 key购买 nike

Java 8 以重载 Arrays.sort() 的形式引入了一种用于数组多线程排序的并行算法。方法。

为什么它不提供 Collections.parallelSort(),用于 List 的多线程排序?

最佳答案

List 不一定能有效实现与数组相同的并行排序算法。您可以将它直接应用于 ArrayList,但很可能不能应用于 LinkedList,因为它缺乏有效的随机访问。有针对这种列表的高效多线程排序算法,但它们不同于随机访问列表。

而且,事实上,List 接口(interface)的线程安全实现可能根本不支持高效的外部多线程排序,由于同步。为它们提供通用的排序算法是不可能的,事实上,并行算法在它们上可能比顺序算法慢。

关于java - 为什么 Java 8 有 Arrays.parallelSort() 但没有 Collections.parallelSort()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27626148/

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