python中进程、线程相关的知识点总结;
mac和windows中略有区别,使用函数并不一样,因为两个操作系统的内核不同。
一、进程
三点:1.创建子进程;2.创建多个子进程;3.进程通信
官网参考文档:doc
1
mac系统引入os模块,使用函数fork;win系统引入process模块,使用Process类创建新的进程;
获取进程id使用os.getpid即可获取当前进程号
import random
from multiprocessing import Process
from multiprocessing import Pool
import os
import time
def test(arg='name'):
print('test name: ' + arg + ', pid: ' + str(os.getpid()))
start = time.time()
time.sleep(random.random())
end = time.time()
print('cost %.2f' %(end - start))
def test_process():
p = Process(target=test, args=('New process!',))
print('Start other process')
p.start()
p.join() # 可以等待子进程结束后再继续往下运行,通常用于进程间的同步
if __name__ == '__main__':
test_process()
print('main Process is: ' + str(os.getpid()))
2
3