我正在學習關於java中的線程,我試圖使用兩個線程在一個數組上運行QuickSort,但沒有按預期工作。這個想法是在數組的分區後在第一部分上運行一個線程,而第二個線程將在另一部分上運行。我假設使用兩個並行運行的線程可以提高性能,但事實並非如此。經過多次測試後,使用這兩個線程比普通的原始快速排序要差一些。快速排序與更多的線程執行更差
我不知道什麼似乎是問題。
我正在學習關於java中的線程,我試圖使用兩個線程在一個數組上運行QuickSort,但沒有按預期工作。這個想法是在數組的分區後在第一部分上運行一個線程,而第二個線程將在另一部分上運行。我假設使用兩個並行運行的線程可以提高性能,但事實並非如此。經過多次測試後,使用這兩個線程比普通的原始快速排序要差一些。快速排序與更多的線程執行更差
我不知道什麼似乎是問題。
請參閱[多線程是否可以提高性能?怎麼樣?](https://stackoverflow.com/questions/15292626/does-multi-threading-improve-performance-how)。你有多少個核心?問題是否正確?在這種情況下,它似乎只工作不那麼快 – pirho
我想知道你是如何基準測試的?有50個元素?!您是否閱讀過如何在Java中進行適當的微基準測試?你有沒有聽說過Java的Fork-Join框架? – AKSW
@pirho我有一個Core i3處理器(雙核)。 – Shifar