いくつかのプロセスを作成し、Python multiprocessing モジュールで実行しようとしています。以下のコードを使用して、送信されている各プロセスのプロセス名を特定しましたが、少なくとも名前が同じに見えるすべてのプロセスが同じプロセッサで実行されていることに気付きました.
ジョブはいつ他のプロセッサで実行を開始しますか? 実行中のプロセッサ名を特定するにはどうすればよいですか?
from multiprocessing import Process
import platform
def process1():
print 'process_1 processor =',platform.processor()
def process2():
print 'process_2 processor =',platform.processor()
def main():
print 'Main processor =',platform.processor()
processlist = []
p1 = Process(target = process1)
p1.start()
processlist.append(p1)
p2 = Process(target = process2)
p2.start()
processlist.append(p2)
for i in processlist:
i.join()
if __name__ == '__main__':
main()
OUtput
Main processor = Intel64 Family 6 Model 37 Stepping 2, GenuineIntel
process_2 processor = Intel64 Family 6 Model 37 Stepping 2, GenuineIntel
process_1 processor = Intel64 Family 6 Model 37 Stepping 2, GenuineIntel