- Introduction
- 注意:学习本课程前,请确保您已经有Python基础
- 课程源码source code
- 几个概念的澄清
- 什么是coroutine呢?
- 实现一个event loop task manager
- asyncio的语法demo
- 结语
- Bonus Lecture
What you'll learn
- 了解异步编程的基本概念
- 关于并发,并行,同步,异步等基本概念
- 如何实现协程,事件驱动
- asyncio的基本语法
Description
python由于GIL(全局锁)的存在,不能发挥多核的优势,其性能一直饱受诟病。然而在IO密集型的网络编程里,异步处理比同步处理能提升成百上千倍的效率,弥补了python性能方面的短板,如最新的微服务框架japronto,resquests per second可达百万级。
python还有一个优势是库(第三方库)极为丰富,运用十分方便。asyncio是python3.4版本引入到标准库,python3.5又加入了async/await特性。
以下PEP是本课程的参考资料:
PEP 255 — Simple Generators
PEP 342 — Coroutines via Enhanced Generators
PEP 380 — Syntax for Delegating to a Subgenerator
PEP 492 — Coroutines with async and await syntax
PEP 525 — Asynchronous Generators
从这些 PEPs 中可以看出 Python 生成器 / 协程的发展历程:先是 PEP 255 引入了简单的生成器;接着 PEP 342 赋予了生成器 send() 方法,使其可以传递数据,协程也就有了实际意义;接下来,PEP 380 增加了 yield from 语法,简化了调用子生成器的语法;然后,PEP 492 将协程和生成器区分开,使得其更不易被用错;最后,PEP 525 提供了异步生成器,使得编写异步的数据产生器得到简化。
本课程就是从最基本的yield语法开始,让大家了解协程和异步背后实现的机理,然后再讲解asyncio的基本的语法,从而让大家对异步和asyncio有深入的理解。
Other Courses
Kube By Example - Spring Boot Microservices on Kubernetes
Learn to Run Spring Boot Microservices on Kubernetes
Login, Registration and Authentication with React & Next.js
Learn to build an amazing login & registration project with authentication, protected pages and more
Ethical Hacking for beginners: Beginner to Advance
Learn how to become an elite ethical hacker and easily hack networks, computer systems, web apps
Network Administration + Networking Essentials Part 1
Free Audio Course - IT Computer Network Fundamentals + Network Administration + Networking Essentials Part 1
About the instructors
- 4.64 Calificación
- 47485 Estudiantes
- 27 Cursos
Peng Xiao
Senior Network DevOps Engineer 麦兜搞IT
Peng Xiao is a Network and Software DevOps Engineer.
He has more than 12 years experiences in IT/Network industry, worked for Cisco Systems, Nerdalize, KPN, ING in the past 12 years.
Peng is good at Python programming(more than 12 years experiences), Network technologies especially L3 routing protocols, distributed systems, database, etc. He also like open sourced technologies, and as a GitHub user he joined some open sourced groups and made some contribution to them.
He is a scrum master and have a Cisco Service Provider CCIE certification.
He is working and living in the Netherlands now.
肖鹏,中文网名“麦兜搞IT”, 目前生活工作在荷兰, 是一名DevOps工程师。在IT相关领域有着超过10年的工作经验,先后在思科,Nerdalize,KPN,ING等公司工作过。
从2016年开始在Udemy进行在线教学,累计学生已经超过4万人。
Student feedback
Course Rating
Reviews
很棒!老師用心又講解的有條有理