Python 多任务 学习一

概述:

1. 进程和线程

  定义1:一个 程序 就是一个二进制的.exe可执行文件,当它被运行时,这就是一个进程,进程是系统进行资源分配的最小单位。

    exe(被执行)  ------>  (代码 + 系统分配的资源) =  进程

  定义2进程会产生最少一个线程(主线程),线程使用进程的资源来执行这个程序代码;

  定义3:多进程,是一个主进程中,创建多个子进程,系统会分配与主进程相同的一份资源(cpu,内存,显卡,等等)给子进程。这时,主进程中依然是主线程向下执行代码,各子进程创建自己的‘主线程’来向下执行。

  定义4:多线程,是一个主进程中的主线程下,创建多个子线程,每个子线程继续向下执行。

  (比如,一个QQ程序,在整个QQ运行进程中,包含收信息,发信息,视频通话等等多个功能,当多个功能同时在使用时,会创建多个 子进程 或 子线程 出来用以执行操作)

 

2. 多任务形式

  多任务的形式有:并行、并发

    如:多进程:( 主线程 + 子进程 ) + 系统分配资源

      主线程执行进程的代码;子进程分别创建自己的主线程,并使用线程向下执行。

  并行: 真.多任务。多进程中,每个子进程分别分配给一个CPU核心和其它资源,多个核心下,每个 子进程的 '主线程'  同时运行。

  并发: 伪.多任务。操作系统分配  '时间片' 轮转,多个 子线程共用主进程核心,同一时间只有一个子线程运行,系统不停切换线程,看起如同同时运行,实际上是线程不停切换。

  (补充:一般我们电脑中的程序运行,大都是并发的情况,因为CPU的核数多数都是比执行的线程少,每个核心都会处理多个任务)

 

3. 创建子线程:threading.Thread的基本用法

  导入python库 threading

  使用threading.Thread创建子线程

 

 

posted @ 2019-09-27 15:00  黑无常  阅读(351)  评论(0)    收藏  举报