+ -
当前位置:首页 → 问答吧 → 请问在linux下用程序如何实现利用多核CPU一起跑程序

请问在linux下用程序如何实现利用多核CPU一起跑程序

时间:2011-05-21

来源:互联网

本帖最后由 cdcto 于 2011-05-21 17:01 编辑

请问在linux下用程序如何实现利用多核CPU一起跑程序

我有个编辑好的程序是read.exe,有文件1.txt,2.txt,……100.txt一共100个文件,
程序read.exe 每处理其中的一个文件都会得到一个数据,放到data.txt
所以,我用sh写了一个程序,

#!/bin/bash
for i in 1 2 3 ……100
do
  ./read.exe $i.txt >data.txt
done

可是电脑处理这100个文件时,是按照顺序从1到100处理这100个文件的,而事实上处理这些文件可以不按照顺序处理,并且我的电脑是4核的,每次跑程序都只能使用其中的一个CPU,请高人指点如何一次实现4个CPU一起运算?即同时有read.exe 处理多个文件,不按照顺序。谢谢

作者: cdcto   发布时间: 2011-05-21

回复 cdcto


    在matlab中用parfor代替for可以实现并行运算,那么在sh中如何实现 呢?

作者: cdcto   发布时间: 2011-05-21

这个题目真是雷人啊……
我猜你是说后台执行吧?
  1. #!/bin/bash
  2. for i in 1 2 3 ……100
  3. do
  4.     ./read.exe $i.txt >data.txt &
  5. done
复制代码

作者: xiaopan3322   发布时间: 2011-05-21