fastapi 并发与并行之并发:程序与现实的交互故事

fastapi 并发与并行之并发:程序与现实的交互故事

本文通过一个有趣的快餐店点餐故事,生动形象地解释了并发的概念,并结合 FastAPI 的异步特性来展示程序的并发操作。通过模拟现实中的点餐、等待、与对象聊天等场景,展示了在等待任务完成的过程中,如何高效地切换任务而不浪费时间。文章以收银员、顾客、汉堡制作等为比喻,深入浅出地说明了 FastAPI 如何在处理任务时暂停并继续执行其他任务,让并发编程的概念更加直观易懂。

故事

你和你的对象一起去了一家快餐店,你排在队伍的后面,而收银员正在为你前面的顾客接单。😍

在这里插入图片描述

轮到你了,你为你和你的对象点了两个超级豪华的汉堡。🍔🍔

在这里插入图片描述

收银员对厨房的厨师交代了你的订单,告知他们需要为你准备汉堡(尽管他们此刻正忙于为其他顾客制作汉堡)。

在这里插入图片描述

你付了钱。

收银员给了你一个取餐号码。
在这里插入图片描述

在等待的时候,你和对象一起挑选了一张桌子,然后坐下来,愉快地聊天(因为汉堡非常豪华,所以需要一些时间来制作)。

坐在桌子旁等待汉堡时,你可以尽情欣赏你的对象有多么可爱、聪明和迷人 ✨😍✨。

在这里插入图片描述

在与对象交谈的过程中,你会时不时地看向柜台显示屏,看看是否已经轮到你的取餐号码了。

终于,显示屏上出现了你的号码。你起身走向柜台,拿到汉堡,然后返回桌子上。

在这里插入图片描述

你们享用了美味的汉堡,整个过程充满了欢声笑语 ✨。
在这里插入图片描述

总结

在这个故事中,假设你是一个计算机程序 🤖。

当你在排队时,只是在等待 😴,在轮到你之前什么都不会做(只是排队而已)。不过排队速度很快,因为收银员只负责接单(并不准备食物),所以整体还算顺利。

当轮到你时,你需要执行一些具体的工作,比如查看菜单、选择你想要的食物、让你的对象选择、支付费用、确认账单是否正确等。

此时,尽管汉堡还没做好,你和收银员的工作都暂时“暂停”了 ⏸,因为你们都在等待汉堡的制作完成 🕙。收银员在这个阶段也没有其他事情可做,因为他们的任务是接单。

离开柜台后,你坐在桌子旁,等待取餐号码被叫到的过程中,你可以将注意力转向你的对象 🔀,并做一些其他的“工作”⏯ 🤓,例如和对象聊聊天,计划一下吃饱了后去干点什么 😍,比如一起逛街等。

当显示屏上显示出“汉堡做好了,xx 号”的时候,你不会立刻跳起来去取汉堡。你知道你的汉堡不会被别人拿走,因为你有唯一的取餐号码。

于是你等对象把当前的事情处理完(完成当前的工作 ⏯/ 正在进行的任务 🤓),然后轻轻一笑,说你要去拿汉堡 ⏸。

接着,你走向柜台 🔀,拿起汉堡,感谢收银员,然后把汉堡带回桌上。这就完成了与你和柜台的交互任务 ⏹。接下来是一个新的任务——“吃汉堡” 🔀⏯,而之前的“取汉堡”任务已经完成 ⏹。

引用原文FastAPI 并发汉堡

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

敲代码不忘补水

感谢有你,让我的创作更有价值!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值