基本使用
- 导入进程包
import multiprocessing
- 创建子进程并制定执行的任务
# 进程对象 = multiprocessing.Process(target = 任务名)
test_process = multiprocessing.Process(target = test)
- 启动进程执行任务
# 进程对象.start()
test_process.start()
基础示例
import multiprocessing
import time
def coding():
for i in range(3):
print('coding...')
time.sleep(0.1)
def music():
for i in range(3):
print('music...')
time.sleep(0.1)
if __name__ == '__main__':
coding_process = multiprocessing.Process(target=coding)
music_process = multiprocessing.Process(target=music)
coding_process.start()
music_process.start()
注意: 进程间不共享全局数据。
带有参数的任务
参数名 | 说明 |
---|---|
args | 以元组的方式给执行任务传参 |
kwargs | 以字典方式给执行任务传参 |
args
:元组方式传参一定要和参数的顺序保持一致。kwargs
:字典方式传参字典中的key
一定要和参数名保持一致。
import multiprocessing
import time
def coding(num, name):
for i in range(num):
print(name)
print('coding...')
time.sleep(0.1)
def music(count):
for i in range(count):
print('music...')
time.sleep(0.1)
if __name__ == '__main__':
coding_process = multiprocessing.Process(target=coding, arges=(3,"Tom"))
music_process = multiprocessing.Process(target=music, kwargs={"count":2})
coding_process.start()
music_process.start()