Java 8 Lambda表达式-Arrays.sort方法是否调用同一线程?

Java 8 Lambda表达式-Arrays.sort方法是否调用同一线程?,java-8,Java 8,我有一个来自《不耐烦者的Java 8》一书的问题: Arrays.sort方法中的比较器代码与 调用排序还是另一个线程 Arrays.sort(words, (first, second) -> Integer.compare(first.length(), second.length())); 我不确定我是否正确理解了这个问题。它是否应该运行同一个线程?为什么会出现多线程问题?您可以通过IDE或grepcode单步执行相关代码: public static void More…sor

我有一个来自《不耐烦者的Java 8》一书的问题:

Arrays.sort方法中的比较器代码与 调用排序还是另一个线程

Arrays.sort(words,
(first, second) -> Integer.compare(first.length(), second.length()));

我不确定我是否正确理解了这个问题。它是否应该运行同一个线程?为什么会出现多线程问题?

您可以通过IDE或grepcode单步执行相关代码:


public static void More…sort(T[]a,comparator)请正确阅读问题。您自己回答了问题。
public static <T> void More ...sort(T[] a, Comparator<? super T> c) {
    if (c == null) {
        sort(a);
    } else {
        if (LegacyMergeSort.userRequested)
            legacyMergeSort(a, c);
        else
            TimSort.sort(a, 0, a.length, c, null, 0, 0);
    }
}