python协程和线程的差异
- 更新时间:2021-07-02 09:58:18
- 编辑:王元勋
给网友们整理相关的编程文章,网友寿思淼根据主题投稿了本篇教程内容,涉及到Python相关内容,已被400网友关注,如果对知识点想更进一步了解可以在下方电子资料中获取。
参考资料
- python tkinter实现贷款计算器 / 6 KB / 码小辫 推荐度:
- Python程序设计入门到实战 PDF 电子书 / 423.1 MB / 何敏煌 推荐度:
- 《Python深度学习:模型、方法与实现》源代码,配书资源 配套资源 / 73.5 MB / [保加利亚]伊凡·瓦西列夫(Ivan Vasilev) 推荐度:
- 《OpenCV 3计算机视觉:Python语言实现(原书第2版)》源代码 配套资源 / 29.19 MB / 乔·米尼奇诺 推荐度:
- Python从菜鸟到高手 PDF 电子书 / 128 MB / 李宁 推荐度:
正文内容
无意中在网上看到《python协程和线程的差异》,实例用法很详细,重新排版了一下发到这里,为了方便大家的阅读。
1、差异说明
实现多任务时,线程切换从系统层面远不止保存和恢复CPU上下文这么简单。操作系统为了程序运行的高效性,每个线程都有自己缓存Cache等数据,操作系统还会帮你做这些数据的恢复工作。所以线程的切换非常耗性能。
协程的切换只是单纯的操作CPU的上下文,一秒钟切换个上百万次系统都可以。
2、实例
import time def work1(): while True: print("----work1---") yield time.sleep(0.5) def work2(): while True: print("----work2---") yield time.sleep(0.5) def main(): w1 = work1() w2 = work2() while True: next(w1) next(w2) if __name__ == "__main__": main() ----work1--- ----work2--- ----work1--- ----work2--- ----work1--- ----work2--- ----work1--- ----work2--- ----work1--- ----work2--- ----work1--- ----work2--- ...省略...
以上就是python协程和线程的差异,希望对大家有所帮助。
相关教程
-
Pythong中关于getpass模块的具体介绍
最近在看Python标准库官方文档的时候偶然发现了这个模块。仔细一看内容挺少的,只有两个主要api,就花了点时间阅读了一下源码,感觉挺实用的,在这安利给大家。下面这篇文章主要给大家介
发布时间:2019-07-11
-
python的内置函数有哪些
所谓内置函数,就是python中自动加载的函数,可以直接使用。常用的内置函数有help()函数,dir()函数,input()函数,print()函数,type()函数。
发布时间:2019-06-27