Python语法进阶(1)- 进程与线程编程

Python语法进阶(1)- 进程与线程编程

1.进程与多进程 1.1.什么是进程

进程就是程序执行的载体

什么叫多任务?

多任务就是操作系统可以同时运行多个任务。比如你一边在用浏览器学习,还一边在听音乐,,这就是多任务,至少同时有3个任务正在运行。还有很多任务悄悄地在后台同时运行着,只是桌面上没有显示而已。

什么是进程?

对于操作系统来说,一个任务就是一个进程,比如打开一个浏览器就是启动一个浏览器进程,打开一个word就启动了一个word进程,打开两个记事本就启动了两个记事本进程。

怎样的任务算一个进程?

当一个任务被开启后,操作系统会分配它所需的系统资源,包括内存,I/O和CPU等,如果系统资源不够,则会出现系统崩溃,这样的任务可称为进程。

python中如何创建进程?

使用模块:multiprocessing

创建方法: multiprocessing.Process(...)

Python语法进阶(1)- 进程与线程编程

1.2.进程在生活中的应用

我们打开的每个软件、游戏、执行的每一个python脚本都是启动一个进程

软件(游戏,脚本)==进程

1.3.进程的口粮

每一个进程像人一样需要吃饭,他的粮食就是:cpu和内存

Python语法进阶(1)- 进程与线程编程

1.4.多进程

可以启动多个进程,他们之间互不干扰,执行自己的业务逻辑

Python语法进阶(1)- 进程与线程编程

1.5.多进程的执行方式

Python语法进阶(1)- 进程与线程编程

2.线程与多线程 2.1.什么是线程

先有进程再有线程,进程吸收足够的资源(CPU、内存)然后交给线程,线程是真正执行逻辑的角色。

线程是操作系统最小的执行单元,进程至少由一个线程组成。如何调度进程和线程,完全有操作系统决定,程序自己不能决定什么时候执行,执行多长时间。有些进程还不止同时干一件事,比如微信,它可以同时进行语音、发文字、浏览信息等事情。

怎样的任务算一个线程?

进程被运行后算一个线程,进程是不运行的,线程才会运行,而一个进程有多个线程就涉及到进程有多少可以被cpu单独调用的模块,这个调用的模块可以通过手动创建线程来建立。

在python中如何创建线程?

使用模块:threading

创建方法:threading.Thread(...)

Python语法进阶(1)- 进程与线程编程

Python语法进阶(1)- 进程与线程编程

2.2.线程与进程的关系

进程提供线程执行程序的前置要求,线程在重组的资源配备下,去执行程序

2.3.多线程

举例说明:开启一个浏览器进程后,从浏览器(主线程)中创建出多个线程来开启多个页面即一个浏览器打开多个tab页,这些tab页就是浏览器进程的多线程

初级认知:多线程会比多进程更加节省资源

2.4.多线程的执行方式

并行:在多个cpu内核上同时执行多个进程

并发:在多个cpu时间片上同时执行多个线程

线程(Thread)也叫轻量级进程,是操作系统能够进行运算调度的最小单位。线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行,进程之间不能共享内存,但线程之间可以共享内存

Python语法进阶(1)- 进程与线程编程

3.多进程的创建 3.1.进程的创建模块-multiprocessing

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zggfdp.html