导语:
本文主要介绍了关于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---
...省略...
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 如何在python中对数字进行四舍五入10/04
- ♥ python中__enter__和__exit__的应用场景12/05
- ♥ python3时间中datetime的转换方法有哪些?11/16
- ♥ 如何执行一个python程序08/15
- ♥ 如何在 python 中进行乘法运算12/12
- ♥ spyder如何导入python项目?09/13
内容反馈