我有一个四核处理器,当我运行快速模拟时,我真的想利用所有这些核心.问题是我只熟悉我们在实验室中使用的小型Linux集群,而且我在家中使用Vista.
对于使用C或Java进行多核编程,我想研究哪些内容?我想谷歌的术语是什么?
谢谢您的帮助.
关键词是"线程" - 在群集中不起作用,但它在单个多核机器上会很好(实际上,在任何类型的Windows上,一般来说比产生多个进程要好得多 - Windows的进程是与Linux相比,相当重量级).在C语言中不是那么容易,在Java中非常容易 - 例如,从这里开始!
好点...除非你知道一些关键词,否则你不能谷歌.
C: google pthread,Posix Thread的缩写,虽然win32本机接口是非posix,请参阅在MSDN上创建线程.
Java: 请参阅类Thread
最后,您应该阅读一些关于函数式编程,actor并发性和不可变对象的内容.事实证明,在普通的旧共享内存中管理并发非常困难,但是消息传递和函数编程可以允许您使用本质上更安全的样式并避免并发问题.Java确实允许你以困难的方式完成所有事情,其中数据是可变共享内存,并且你拼命地尝试手动互锁共享状态结构.但您也可以使用java中的高级样式.也许从这篇JavaWorld文章开始:JVM上的Actors.
看看这本书:Java Concurrency in Practice