知行编程网知行编程网  2022-10-10 23:30 知行编程网 隐藏边栏  26 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python协程和线程的差异的相关知识,包括python协程和线程性能测试,以及python异步和多线程区别这些编程知识,希望对大家有参考作用。

python协程和线程的区别


1、差异说明

在实现多任务时,线程切换不仅仅是在系统级别保存和恢复 CPU 上下文。操作系统为了高效运行程序,每个线程都有自己的缓存和其他数据,操作系统也会帮你恢复这些数据。所以线程切换是非常消耗性能的。

协程的切换只是对 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---
...省略...

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享