导语:
本文主要介绍了关于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中unittest的核心组成10/20
- ♥ python中的括号是什么意思?09/16
- ♥ strip() 和 split() 如何在 python 中处理字符串?10/28
- ♥ python是怎么出现的>>>01/08
- ♥ python堆和栈有什么区别09/21
- ♥ 如何在python中找到数字的平方09/11
内容反馈