# 单线程案例import time
defsing():for i inrange(3):print("唱歌...")
time.sleep(0.5)defdance():for i inrange(3):print("跳舞...")
time.sleep(0.5)if __name__ =='__main__':
sing()
dance()
# 多线程案例import time
import multiprocessing
defsing():for i inrange(3):print("唱歌...")
time.sleep(0.5)defdance():for i inrange(3):print("跳舞...")
time.sleep(0.5)if __name__ =='__main__':
sing_process=multiprocessing.Process(target=sing)
dance_process=multiprocessing.Process(target=dance)
sing_process.start()
dance_process.start()
# 进程执行带有参数的任务import time
import multiprocessing
defsing(num,name):for i inrange(num):print(name)print("唱歌...")
time.sleep(0.5)defdance(num,name):for i inrange(num):print(name)print("跳舞...")
time.sleep(0.5)# args表示以元组方式传参,元组中的参数有顺序# kwargs表示用字典方式传参,字典中的参数没有顺序,只需要索引名匹配就行if __name__ =='__main__':
sing_process=multiprocessing.Process(target=sing,args=(3,"星辰大海"))
dance_process=multiprocessing.Process(target=dance,kwargs={"name":'芭蕾',"num":2})
sing_process.start()
dance_process.start()
# 获取当前进程编号import os
print("sing进程ID",os.getpid())print("sing父进程ID", os.getppid())