多进程(multiprocessing)
参考:
1. 多进程概念
multiprocessing is a package that supports spawning processes using an API similar to the threading module. The multiprocessing package offers both local and remote concurrency, effectively side-stepping the Global Interpreter Lock by using subprocesses instead of threads. Due to this, the multiprocessing module allows the programmer to fully leverage multiple processors on a given machine. It runs on both Unix and Windows.
例子1. 多进程
from multiprocessing import Process
import os
import time
def info(title):
print(title)
print('module name:', __name__)
print('parent process:', os.getppid())
print('process id:', os.getpid())
print()
def f(name):
info('\033[31;1mfunction f\033[0m')
print('hello', name)
if __name__ == '__main__':
info('\033[32;1mmain process line\033[0m')
p1 = Process(target=f, args=('Allen',))
p1.start()
p2 = Process(target=f, args=('Joyce',))
p2.start()
#把p1,p2 join到caller程序(线程),待p1,p2运行结束后,caller程序(线程)继续运行
p1.join()
p2.join()
time.sleep(1)
print()
print('End')