我有一些来自这样的教程的简单代码:
from multiprocessing import Process, Lock
import os
def f(i):
print 'hello world', i
print 'parent process:', os.getppid()
print 'process id:', os.getpid(), "\n\n"
if __name__ == '__main__':
lock = Lock()
for num in range(10):
p = Process(target=f, args=(num,))
p.start()
p.join()
Run Code Online (Sandbox Code Playgroud)
我怎么知道这是否使用了我的两个内核?目前我正在运行 Ubuntu 11.04 w/ 3 GB RAM 和 Intel Core 2 Duo @ 2.2GHz。
我正在学习的项目将被转移到某人办公室的一台巨大机器上,其马力比我目前可以使用的要大得多。具体来说,处理器将至少有 4 个内核,我希望确保我的算法能够自动检测和利用所有可用的内核。此外,该系统可能不是 Linux,那么在操作系统之间移动多处理模块时是否有任何常见的错误需要注意?
哦,是的,脚本的输出也如下所示:
hello world 0
parent process: 29362
process id: 29363
hello world 1
parent process: 29362
process id: 29364
hello world 2 …Run Code Online (Sandbox Code Playgroud)