Dengan pembangunan perkakasan komputer, kami kini boleh menggunakan CPU berbilang teras untuk memproses data dengan lebih cekap. Di Java, kita boleh menggunakan fungsi parallelSort dalam kelas Arrays untuk melaksanakan pengisihan selari untuk mempercepatkan proses pengisihan data.
Mula-mula, mari kita lihat cara menggunakan fungsi Arrays.sort untuk pengisihan satu benang. Berikut ialah contoh mudah yang menunjukkan cara mengisih tatasusunan integer:
import java.util.Arrays; public class SingleThreadSortExample { public static void main(String[] args) { int[] numbers = { 5, 3, 6, 1, 9, 4 }; Arrays.sort(numbers); // 使用 Arrays.sort 函数进行排序 for (int num : numbers) { System.out.print(num + " "); } } }
Outputnya ialah: 1 3 4 5 6 9
在这个例子中,我们使用了Arrays.sort函数对一个整数数组进行排序。这是一个单线程调用,它将所有的排序工作都放在一个线程中完成。
但是,使用parallelSort函数,我们可以将排序过程分成多个线程并行执行。这将极大地提高排序效率。以下是使用Arrays.parallelSort函数进行并行排序的示例代码:
import java.util.Arrays; public class ParallelSortExample { public static void main(String[] args) { int[] numbers = { 5, 3, 6, 1, 9, 4 }; Arrays.parallelSort(numbers); // 使用 Arrays.parallelSort 函数进行排序 for (int num : numbers) { System.out.print(num + " "); } } }
输出结果与单线程排序相同:1 3 4 5 6 9
。但是,在多核CPU的设备上,parallelSort函数将比单线程排序更快。这个例子只是一个简单的展示,实际上,数据量越大,使用parallelSort进行并行排序的优势越大。
如果你需要对对象数组进行排序,也可以使用parallelSort函数,但需要指定一个自定义的Comparator来进行排序。以下是对一个字符串数组进行并行排序的示例:
import java.util.Arrays; import java.util.Comparator; public class ParallelSortWithComparatorExample { public static void main(String[] args) { String[] words = { "banana", "apple", "pear", "orange" }; Arrays.parallelSort(words, new Comparator<String>() { public int compare(String s1, String s2) { return s1.compareTo(s2); } }); for (String word : words) { System.out.print(word + " "); } } }
输出结果为:apple banana orange pear
rrreee
Hasil keluaran adalah sama dengan pengisihan berbenang tunggal:Atas ialah kandungan terperinci Bagaimana untuk melakukan pengisihan selari menggunakan fungsi Arrays.parallelSort dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!