pet*_*rov 5 java sorting comparator
Arrays.sort方法中的比较器代码是否与调用sort或不同线程在同一线程中调用?
我在JDK 8的上下文中问这个问题.
我认为答案是它在同一个线程中被调用,但我不是100%肯定.如果回答这个问题的人提供了一些参考或其他一些详细的解释(除了简单的是或否),我会很高兴.
答案是不.排序(in Arrays.sort)是DualPivotQuicksort通过以下文档实现的:
本课程实现了Vladimir Yaroslavskiy,Jon Bentley和Josh Bloch的Dual-Pivot Quicksort算法.该算法在许多数据集上提供O(n log(n))性能,导致其他快速降序降级为二次性能,并且通常比传统(单枢轴)Quicksort实现更快.所有公开的方法都是包私有的,设计用于在执行任何必要的数组边界检查并将参数扩展到所需的表单之后从公共方法(在类Arrays中)调用.
正如你在实现中看到的那样- 它不会启动任何线程.
此外,存在parallelSort使用ForkJoin公共池以执行并行执行的方法.这是非常明确的,并且正如其他一些评论者已经提到的那样 - JDK API对于这样一个问题非常渺茫的可能性很小.
| 归档时间: |
|
| 查看次数: |
710 次 |
| 最近记录: |