1 并发与并行
并发:在一段时间内交替去执行多个任务。对于单核cpu处理多任务,操作系统轮流让各个任务交替执行。
并行:在一段时间内真正的同时一起执行多个任务。对于多核cpu处理多任务,操作系统会给cpu的每个内核安排一个执行的任务。
2 多进程
概念:进程(Process)是资源分配的最小单元,是操作系统进行资源分配和调度运行的基本单位。通俗理解:一个正在运行的程序就是一个进程(一个程序运行后最少有一个进程)。
2.1 进程创建与启动
# 边听音乐边敲代码
import multiprocessing,time
def music():
for i in range(3):
print('听音乐...',flush=True)
time.sleep(0.2)
def coding():
for i in range(3):
print('敲代码...',flush=True)
time.sleep(0.2)
if __name__=='__main__':
music_process = multiprocessing.Process(target=music)
coding_process = multiprocessing.Process(target=coding)
music_process.start()
coding_process.start()
2.2 进程执行带有参数的任务
import multiprocessing,time
def music(name,timer):
print(f'正在听{name}的音乐')
time.sleep(timer)
def coding(task,timer):
print(f'正在编写{task}程序')
time.sleep(timer)
if __name__=='__main__':
music_process=multiprocessing.Process(target=music,args=('周杰伦',0.1))
coding_process=multiprocessing.Process(target=coding,kwargs={'ta