由ruby生成的子进程使用的CPU

And*_*imm 1 ruby multicore

如果你在ruby中生成子进程(例如使用Kernel.system),它是否可以使用不同的CPU进行父进程?

如果是这样,你可以在父进程中使用多个线程(在同一个CPU中),并让每个线程产生一个可以使用不同CPU的子进程,即使在ruby 1.8中也是如此?

(背景 - 这是来自这个超级用户问题的superscript.rb ,但我不想做所有50个文件夹,我只是想快速做一个文件夹.我正在使用Ubuntu Linux.)

Avd*_*vdi 5

Ruby进程与任何其他进程没有什么不同 - 它们由OS独立调度,并且可以根据操作系统的突发奇想分布在CPU上.

另一方面,C/Ruby 1.8线程是"绿色"线程,操作系统对此一无所知.给定Ruby进程中的所有线程都将在同一个CPU上运行.但是,您可以使用线程来管理子进程,并且可以跨CPU调度这些子进程.