关于我的个人网站的声明
声明这是我的一个个人网站,作为计算机专业的学生,在学生的过程中总是遇到一些困难,我决定创建一个个人网站,记录下我的学习过程和思考。将平时学习中遇到一些难的问题,记录在网站上,方便后续学习。因为本人还是一个计算机小白,所以网站的内容会比较基础,但是我会尽力更新网站,记录下我的学习过程和思考。 认识如今网络上都说AI的出现使计算机专业进入了寒冬,但是我还是认为只有不断提高个人能力,才能在计算机专业领域不被AI所替代,大学如今变得很高中化,要知道纸上得来总觉浅,绝知此事要躬行,所以我们不能只学课本上那些理论知识,应该多动手,多做项目,不能为了考试而学习。之后可能会自己做一些有趣的项目,上传到GitHub上,欢迎关注。
关于FastAPI的异步
关于FastAPI的异步FastAPI异步性能优势我们先探讨一下并发和并行:相关资料可以查询FastAPI的异步文档:https://fastapi.tiangolo.com/zh/async/ 并发也许很多人和我一样认为并发是任务在同时进行,但是并发只是在宏观上是同时进行的,在微观上是顺序进行的,只不过是切换时间短了而已。所以并发是同一时间段多个任务交替穿插执行,而不是同时进行,可以说宏观看似同时,微观上是交替执行的。 并行并行就是真正同一时刻多个任务在同时进行。注意,单核CPU只有并发,没有并行,多核CPU才能并行执行多个任务。 还有一个问题就是python的一个特点: GIL全局解释器锁python的GIL全局解释器锁是指python解释器在多线程环境下,只能有一个线程执行,其他线程只能等待,如果是IO密集型任务,因为网络请求,数据库操作,等待响应等是阻塞的,空闲时刻立即主动释放GIL锁,空闲线程抢占GIL锁,实现多线程并发,所以任务之间就是并发进行的,但是如果是CPU密集型任务,因为要持续计算,无法主动释放GIL锁,只能串行执行。其他语言是没有全局解释锁的,比如java,...

