【说站】python协程和线程的差异
2024-12-22
36
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协程和线程的差异,希望对大家有所帮助。更多Python学习指路:python基础教程
赞一波!4
相关文章
- 【说站】Python curses库如何使用
- 【说站】Python字典常用方法汇总
- 【说站】Python字符串方法如何使用
- 【说站】Python列表操作方法的整理
- 【说站】Python中os模块的功能介绍
- 【说站】python模块的搜索顺序分析
- 【说站】python抛出raise异常的注意点
- 【说站】Python psd-tools如何转换文件
- 【说站】python异常的传递
- 【说站】python自定义日志如何实现
- 【说站】python有哪些注释的种类
- 【说站】python中__new__的重写
- 【说站】python如何解决初始化执行次数
- 【说站】python错误类型捕获的方法
- 【说站】python数据结构堆的介绍
- 【说站】python参数调用的注意点
- 【说站】python Pandas读取数据文件的优点
- 【说站】python中in和is的区分
- 【说站】python异常中常见关键字
- 【说站】python os.path.join()函数的使用
文章评论
评论问答