进程执行带有参数的任务

进程执行带有参数的任务

参数名 说明
args 以元组的方式给执行任务传参
kwargs 以字典方式给执行任务传参

args参数的使用

# target: 进程执行的函数名
# args: 表示以元组的方式给函数传参
coding_process = multiprocessing.Process(target=coding, args=(3,))
# 启动进程
coding_process.start()

kwargs参数的使用

# target: 进程执行的函数名
# kwargs: 表示以字典的方式给函数传参
music_process = multiprocessing.Process(target=music, kwargs={"num": 3})
# 启动进程
music_process.start()

示例

# 导入进程模块
import multiprocessing
import time

# 编写代码
def coding(num, name):
    for i in range(num):
        print(name)
        print("coding...")
        time.sleep(0.2)

# 听音乐
def music(count):
    for i in range(count):
        print("music...")
        time.sleep(0.2)

if __name__ == '__main__':
    # coding()
    # music()
    # 通过进程类创建进程对象
    coding_process = multiprocessing.Process(target=coding, args=(3, "charley")) # 注意参数顺序要与形参顺序一致
    music_process = multiprocessing.Process(target=music, kwargs={"count": 2}) # 字典中的key要和形参参数名保持一致
    # 启动进程
    coding_process.start()
    music_process.start()