多进程:
我们什么时候需要多进程呢?我们知道python的多线程,实际不是真实的多线程,它同一时间在一个cpu执行一个任务,它通过上下文的切换来让我看起来是多并发的,
那么如果我们想要真正实现多个任务在多个cpu上同时执行,我们就需要多进程的性质来帮忙了(python的多线程不适合cpu密集型的任务,适合io密集型的任务)。
import multiprocessing import threading def thread_run(): print(threading.get_ident()) def run(): print("ok") t=threading.Thread(target=thread_run(),) t.start() if __name__=="__main__": for i in range(10): p=multiprocessing.Process(target=run,) p.start()
上端代码体现了多进程用法其实就是在形式上与多线程是大同小异的!
通过学习多线程我们知道所有的线程都是有一个父线程
from multiprocessing import Process import os def info(title): print(title) #os.getppid 显示父线程的id print('parent process:', os.getppid()) #os.getid显示子线程的id print('process id:', os.getpid()) print(" ") def f(name): info('