进程与线程

目录

    1. 计算机的核心是CPU,CPU承担了所有的计算任务

    2. 一个CPU核心一次只能执行一个任务,多个CPU核心可以同时执行多个任务

    3. 一个CPU一次只能执行一个进程,其他进程处于非运行状态

    4. 进程中包含的执行单元叫线程,一个进程可以包含多个线程。

    5. 一个线程中内存空间是共享的,每个进程里的线程都可以使用这个共享空间,一个线程在使用这个共享空间的时候,其他线程必须等它结束。

    6. 通过“锁”实现,作用就是防止多个线程使用这个内存空间,先使用的线程会将空间上锁,其他线程就在门口等待,打开锁再进去。

    7. 进程:表示程序的一次执行

    8. 线程:CPU运算的基本调度单位

    9. GIL:全局解释器锁,Python里面的通行证,而且只有一个,拿到通行证的线程才可以执行。

    10. Python的多线程试用范围:大量密集的I/O处理

    11. Python的多进程:大量的密集并行计算

    12. 线程的概念

      (1)进程内的一个执行单元

      (2)操作系统中一个可调度的实体

      (3)进程中相对独立的一个控制流序列

      (4)执行时的现场数据和其他调度所需的信息。

    13. 再论main函数

      (1)C/C++程序被执行后从main函数开始运行。

      (2)其运行过程:

      (3)线程是进程使用CPU资源的基本单位。

    14. 深入理解进程和线程

      (1)进程中可以存在多个线程并行执行,共享进程资源

      (2)线程是被调度的执行单元,而进程不是调度单元。

      (3)线程不能脱离进程单独存在,只能依赖于进程运行。

      (4)线程有生命期,有诞生和死亡。

      (5)任意线程都可以创建其它新的线程。

    15. 小结

      (1)程序是物理存储空间中的数据文件

      (2)进程程序运行后得到的执行实体

      (3)线程是进程内部的具体执行单元

      (4)一个进程内部可以有多个线程存在

      (5)进程是操作系统资源分配的基本单位

      (6)线程是操作系统调度执行的基本单位

    原文地址:https://www.cnblogs.com/kolane/p/11538086.html