同步、异步和并行

有一个男的看上了两个漂亮MM,想通过写信的方式跟他们交流感情,这两个MM分别是  A女,B女 :

同步:他先给A女写了封信然后发了出去。等了好几天 A女给他回了信,之后他才给B女写信。就是说等到一个任务返回或者结束他才继续往下做他想做的任务。

异步:他先给A女写了封信,然后发了出去,马上又给B女写了封信也发了出去。  就是说不用等到一个任务结束就去做下一个任务。

并行:两个帅哥同时给这两个妹妹写信。


异步、串行并行是描述任务执行方式的不同概念。 异步同步相对,指的是能否开启新的线程,异步可以开启新的线程。这意味着在进行异步操作时,程序可以在执行当前任务的同时,开启新的线程去执行其他任务,而不需要等待当前任务完成。例如,在网页加载图片时,使用异步方式可以让网页继续响应用户的其他操作,而图片在后台线程中加载 [^1][^2]。 串行并行则是关于任务的执行方式。串行是指在处理多个任务时,各个任务按顺序依次执行,只有完成一个任务之后,才能开始进行下一个任务。例如,在一条生产线上,产品必须依次经过各个工序的加工,前一个工序完成后,才能进入下一个工序 [^1][^2]。 并行指的是多个任务可以同时执行。在计算机系统中,如果有多个处理机,就可以将多个可并发执行的程序分配到不同的处理机上,让它们同时运行。例如,多核处理器可以同时处理多个不同的任务,大大提高了处理效率。需要注意的是,异步是多个任务并行的前提条件,只有实现了异步操作,才有可能让多个任务并行执行 [^1][^2][^3][^4]。 ```python import time import threading # 串行执行示例 def serial_task(): def task1(): time.sleep(1) print("Task 1 completed") def task2(): time.sleep(1) print("Task 2 completed") task1() task2() # 并行执行示例 def parallel_task(): def task1(): time.sleep(1) print("Task 1 completed") def task2(): time.sleep(1) print("Task 2 completed") thread1 = threading.Thread(target=task1) thread2 = threading.Thread(target=task2) thread1.start() thread2.start() thread1.join() thread2.join() # 异步执行示例(使用 Python 的 asyncio 库) import asyncio async def async_task1(): await asyncio.sleep(1) print("Async Task 1 completed") async def async_task2(): await asyncio.sleep(1) print("Async Task 2 completed") async def async_main(): task1 = asyncio.create_task(async_task1()) task2 = asyncio.create_task(async_task2()) await task1 await task2 ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值