我需要对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
- 7. Java多线程
- 8. java编程和java单线程多线程问题(单线程与多线程)
- 9. 关于多线程的java多线程
- 10. java中有多线程的多线程
- 11. 的Java多线程
- 12. Java HttpsServer多线程
- 13. 多线程Java Swing
- 14. Java多线程unclarity
- 15. Graphstream多线程 - Java
- 16. 多线程Java的
- 17. 多线程Java中
- 18. Java多线程thread.sleep()
- 19. 多线程Java的
- 20. Java多线程HashMap
- 21. PingPong程序Java多线程
- 22. Java多线程未关闭线程
- 23. Java多线程等待线程完成
- 24. Java ForkJoin多线程比单线程慢
- 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