Python37days

发布时间 2023-10-18 19:36:56作者: 拆尼斯、帕丁顿

进程缩

进程之间数据隔离问题

如何查看进程的进程号

队列(Queue类 专业的队列)

生产者消费者模型

线程理论

如何开启线程(Thread)

线程类的参数,方法,属性

守护线程(守护进程)

GIL全局解释器锁

————————————————————————————————————————————————————————————————————————————————————————————

?

在IT界中很重要,不局限与在python中出现,特别是数据库中的锁更多比如:表锁,行锁,进程锁,互斥锁,递归锁,条件锁等……

使用锁的目的就是为了保证安全

 ———————————————————————————————————————————————————————————————————————————                          —————如何查看进程号
要查看进程号,可以使用os模块中的getpid()函数。该函数返回当前进程的进程号

除了getpid()函数外,os模块还提供了其他有用的函数,例如getppid()函数可以返回当前进程的父进程的进程号。

还可以使用psutil模块来查看进程信息。

 

 ——————————————————————————————————————————————————————————————————————————————

 ——————————————————————————————————————————————————————————————————————————————                                      队列(Queue)

数据结构:链表,单链表,双链表,循环链表,栈,队列,二叉树
队列: 先进先出
栈:先进后出
python提供了一个内置队列类

 ————————————————————————————————————————————————————————————————————————————————                    生产者消费者模型

在并发编程中使用生产者和消费者模式能够解决绝大数并发问题
该模式通过平衡生产线程和消费线程的工作能力来提高程序的整体处理数据的速度

 ——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

线程顾名思义,就是一条流水线工作的过程,一条流水线必须属于一个车间,一个车间的工作过程是一个进程

车间负责把资源整合到一起,是一个资源单位,而一个车间内至少有一个流水线

流水线的工作需要电源,电源就相当于cpu

所以,进程只是用来把资源集中到一起(进程只是一个资源单位,或者说资源集合),而线程才是cpu上的执行单位。

多线程(即多个控制线程)的概念是,在一个进程中存在多个控制线程,多个控制线程共享该进程的地址空间,相当于一个车间内有多条流水线,都共用一个车间的资源。

例如,北京地铁与上海地铁是不同的进程,而北京地铁里的13号线是一个线程,北京地铁所有的线路共享北京地铁所有的资源,比如所有的乘客可以被所有线路拉。



在一个进程中 线程就是必须存在的 至少有一个线程来执行任务

一个进程中可以有多个线程,在一个进程中可有开启多个线程来执行

进程和线程都是由操作系统调度的

进程是操作系统分配资源的基本单位,线程是操作系统执行的最小单位
如何开启线程?