并发编程(二)

在后续学习多线程、多进程、协程之前,对一些概念要清楚:

1、进程

  资源分配的基本单位,也可以理解为操作系统中正在执行的程序,每个应用程序都有一个自己的进程

  特点:对python而言,可以实现真正的并行效果

  缺点:进程间切换,开销大,容易消耗CPU资源,进程间通信相对线程来说比较麻烦

一个进程启动时都会最先产生一个线程,即主线程,然后主线程会创建其他的子线程

2、线程

  独立运行和独立调度的基本单位,一个基本的CPU执行单元,他必须依托于进程存活,是进程中最小的执行单位

  特点:无法利用多核,无法实现真正意义上的并行效果

  缺点:对于IO密集型的操作可以很好利用IO阻塞的时间

3、进程和线程的区别

  3.1、线程必须在某个进程中执行

  3.2、一个进程可包含多个线程,其中有且只有一个主线程

  3.3、多线程共享同一个内存地址、打开的文件以及其他资源

  3.4、多进程共享物理内存、磁盘、打印机以及其他资源

4、死锁

  概念:多个进程、线程在运行过程中因竞争同一资源而产生的一种僵局

  产生的原因:

    3.1、竞争资源

    3.2、进程间推进顺序非法

posted on 2023-03-31 16:08  默玖  阅读(10)  评论(0编辑  收藏  举报

导航