1. 程式人生 > >python 在不同CPU上同時執行多個程式

python 在不同CPU上同時執行多個程式

出處/From https://www.quora.com/If-you-run-Python-under-a-dual-core-CPU-then-can-you-run-two-Python-programs-at-once-one-that-utilizes-1-core-and-the-other-utilizing-the-other-core

In [24]: import os
In [25]: import numpy as np
In [26]: from multiprocessing import Process
In [27]: class MyProc(Process):
    ...:     def __init__(self, num):
    ...:         self.num = num
    ...:         super().__init__()
    ...:
    ...:     def run(self):
    ...:         print(f'Process {self.num} starting...PID {os.getpid()}')
    ...:         np.random.seed(self.num)
    ...:         total = np.sum([np.random.randint(10_000)
                        for _ in range(10_000_000)])
    ...:         print(f'Total sum = {total}')
    ...:
 
In [28]: procs = [MyProc(i) for i in range(2)]
 
In [29]: for p in procs:
    ...:     p.start()
    ...:
 
Process 0 starting...PID 92402
Process 1 starting...PID 92403
In [30]: for p in procs:
    ...:     p.join()
    ...:
Total sum = 50003085304
Total sum = 49988200971