day 29

进程互斥锁

让并发变成串行,牺牲其执行效率,保证了数据的安全

在程序并发执行时,需要修改数据时使用

队列

先进先出

相当于内存中产生一个内存空间

可以存放多个数据,但数据的顺序是由先进去的排在前面

推栈

先进后出

IPC(进程间通信)

进程间数据是相互隔离的,若想实现进程间通信,可以利用队列

生产者与消费者

生产者:生产数据的

消费者:消费数据的

生活中:

​ 比如:卖油条, 一边生产油条, 一边卖油条, 供需不平衡。

程序中:

​ 通过队列,生产者把数据添加队列中,消费者从队列中获取数据。

线程

什么是线程

线程与进程都是虚拟单位,目的是为了更好地描述某种事物

​ 进程:资源单位

​ 线程:执行单位

​ 开启一个进程,一定会有一个线程,线程才是真正执行者

为什么要使用线程

节省内存资源

​ 开启进程

​ 1.开辟一个名称空间,每开启一个进程都会占用一份内存资源。

​ 2.会自带一个线程。

​ 开启线程

​ 1.一个进程可以开启多个线程。

​ 2.线程的开端远小于进程。

注意:线程不能实现并行,线程只能实现并发,进程可以实现并行。

比喻:内存就像一个工厂,子进程就像一个工厂车间,线程就像车间内的流水线。

线程之间数据是共享的。

posted @ 2019-10-23 00:10  colacheng  阅读(83)  评论(0编辑  收藏  举报
Live2D