Python-进程与线程

什么是进程?

操作系统用来调度和分配资源的一个单位。每个应用程序至少有一个进程。

进程是竞争计算机资源的基本单位。(进程是最小的内存分配单位,作用是分配资源)

※ 单核CPU: 同一时刻只能执行一个进程。但若CPU运行速度足够快,能在不同的应用程序进程之间切换。

《操作系统原理》:关于进程调度算法

频繁切换进程/线程开销非常大,上下文频繁保存加载, 消耗大量CPU资源。

什么是线程?

线程是进程的一部分,一个进程可以有一个线程,或多个线程。

(线程是操作系统调度的最小单位(轻量),作用是利用CPU执行代码,它访问进程资源,但不拥有资源)

# 线程直接被CPU执行,进程内至少含有一个线程,也可以开启多个线程
    # 开启一个线程所需要的时间要远远小于开启一个进程
    # 多个线程内部有自己的数据栈,数据不共享
    # 全局变量在多个线程之间是共享的

线程切换消耗的资源比进程切换消耗的资源要少很多。

线程与进程最主要的区别是:分工不同。

  • python 无法充分利用多核CPU的优势
posted @ 2019-04-20 13:51  kulo  阅读(167)  评论(0编辑  收藏  举报