美文网首页
Python中进程、线程、协程及其区别

Python中进程、线程、协程及其区别

作者: _十一月的萧邦 | 来源:发表于2019-10-31 16:02 被阅读0次

    1.进程

    顾名思义,进程即正在执行的一个过程,进程是对正在运行程序的一个抽象。进程是系统进行资源分配和调度的独立单位。

    2.线程

    线程是程序执行的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。

    进程与线程

    3.协程

    协程也是线程,称微线程,自带CPU上下文,是比线程更小的执行单元;简单点说协程是进程和线程的升级版,进程和线程都面临着内核态和用户态的切换问题而耗费许多切换时间,而协程就是用户自己控制切换的时机,不再需要陷入系统的内核态。Python里最常见的yield就是协程的思想!

    进程与线程的区别

    1. 一个程序至少有一个进程,一个进程至少有一个线程;
    2. 线程不能够独立执行,必须依存在进程中;
    3. 进程有自己独立的地址空间;而线程共享进程的地址空间;
    4. 二者均可并发执行,多线程比多进程成本低,但性能更低;
    5. 一个程序至少有一个进程,一个进程至少有一个线程;
    6. 线程是处理器调度的基本单位,但进程不是。

    相关文章

      网友评论

          本文标题:Python中进程、线程、协程及其区别

          本文链接:https://www.haomeiwen.com/subject/xojtbctx.html