我需要對java環境中的大量數據執行單個計算(sum和product)。我知道最好的解決方案是使用CUDA等SIMD體系結構,但我沒有專用硬件的能力。 你知道在單機上運行並利用多核的map reduce框架嗎?Java多線程
Java多線程
回答
的fork- join框架通常建議對這些類型的任務,因爲它作爲有核會自動使用盡可能多的線程,可以在Java教程閱讀更多關於它:http://docs.oracle.com/javase/tutorial/essential/concurrency/forkjoin.html
。另一方面,如果只是對數字進行求和和相乘,則選擇固定數量的線程(如4)可能會更簡單,並且第一個線程將索引0,4,8中的數字相加,第二個索引中的第1,5,9 ,...第三個在2,6,10,...依此類推
謝謝,你知道基於mapreduce的多線程框架嗎? –
注 - 根據每個元素的大小,跨索引交叉索引可能會導致虛假共享問題。將數據拆分成[核心數量]連續的塊,例如maxIndex/[核心數量],每個大小(或大約 - 最後一個塊大小可能稍大)通常會更好。 –
當所有訪問都是隻讀時,會發生虛假共享嗎? – Joni
- 1. Java線程(多線程)
- 2. Java多線程
- 3. 多線程java
- 4. java多線程
- 5. java多線程
- 6. java編程和java單線程多線程問題(單線程與多線程)
- 7. 關於多線程的java多線程
- 8. java中有多線程的多線程
- 9. Java HttpsServer多線程
- 10. Java多線程thread.sleep()
- 11. Graphstream多線程 - Java
- 12. Java多線程unclarity
- 13. 的Java多線程
- 14. 多線程Java Swing
- 15. 多線程Java的
- 16. 多線程Java中
- 17. 多線程Java的
- 18. Java多線程HashMap
- 19. Java多核線程 - 線程未結束
- 20. Java的多線程,讓線程並行
- 21. Java多線程等待線程完成
- 22. 的Java多線程的線程隨機
- 23. Java ForkJoin多線程比單線程慢
- 24. Java多線程等到子線程死
- 25. Java多線程未關閉線程
- 26. Java多線程程序:多線程中的對象共享
- 27. 的Java多線程混亂
- 28. Java多線程控制
- 29. Java多線程系統
- 30. Java多線程挑戰
如果只有一個處理器,那麼多線程將無助於計算密集型應用程序。 –
我有一個4核心的CPU。我怎樣才能利用多核架構? –
看看這個[教程](http://arashmd.blogspot.com/2013/06/java-threading.html)可能會幫助你 – 2013-07-03 14:17:38