QuickSort在线程越多时表现越差

时间:2017-10-13 19:37:48

标签: java multithreading quicksort

我正在学习java中的线程,我试图在一个阵列上使用两个线程运行QuickSort,但没有按预期工作。这个想法是在数组的分区之后在第一部分运行一个线程,而在另一部分运行第二个线程。我假设使用两个并行运行的线程可以提高性能,但它没有。经过多次测试后,使用这两个线程比常规的原始快速排序更差。

我不知道这似乎是什么问题。

1 个答案:

答案 0 :(得分:1)

如果我看到正确,您使用Thread.run()代替Thread.start()来执行线程(即您应该在代码中使用tUpper.start()tLower.start())。只有第二种方法会创建一个新线程。第一个没有 - 该方法在调用线程中执行。

另见this问题。