优草派  >   Python

Python中线程和协程有什么区别?Python线程和协程区别是什么

罗西汉            来源:优草派

在谈及python程序的运行速度和运行效率时会遇到两个名词协程和线程,很多刚学python的小伙伴可能就会对这两个词语一头雾水了。那本文将会介绍python中线程和协程的含义,以及他们之间的区别是什么。

Python中线程和协程有什么区别?Python线程和协程区别是什么

一、线程和协程含义

(1)线程:线程是cup调度和执行的基本单位,多个线程组成一个进程,进程之内的线程是共享所有资源的。线程自身是没有系统资源的,所以上下文切换速度快、内存共享,但也有资源易丢失的问题。

(2)协程:协程其实就是一个由用户控制来调度的轻量级线程,它可以将自身的资源保存在系统上的其他位置,所以在访问上是非常快的。

二、线程和协程的区别

1.线程是同步机制,一个时间段做一件事。协程是异步机制,在一个时间段做多个事,内存利用率高。

2.一个线程可以有多个协程,而进程也可以由多个协程,这是python程序使用多核CPU的关键。

3.线程的寄存器和栈可以单独保存在内存之中,而线程的栈只能跟着进程而调动。

4.线程的每一次执行都是从头到尾执行完毕的,所以每一次都会开辟新的内存空间。协程则不同,它可以保留上次调用时的状态和位置,每次调用协程时都会进入上一次的状态之中。

以上就是关于“Python中线程和协程有什么区别?Python线程和协程区别是什么”的全部内容了,想要了解更多python的实用知识和代码示例可以在网页顶部栏目中找到python查看更多哦。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行