day38

进程互斥锁

让并发变成串行, 牺牲了执行效率, 保证了数据安全.
在程序并发执行时,需要修改数据时使用.

队列

先进先出

相当于内存中产生一个队列空间,
可以存放多个数据,但数据的顺序是由先进去的排在前面.

堆栈

先进后出

IPC(进程间通信)

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

生产者与消费者

生产者:

生产数据的

消费者:

使用数据的

程序中:

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

线程

什么是线程

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

进程:

资源单位

线程:

执行单位

注意:

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

为什么要使用线程

节省内存资源。

开启进程:

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

开启线程

  1. 一个进程可以开启多个线程
  2. 线程的开销远小于进程

注意:

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

比喻:

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

线程之间的数据时共享的。

posted @ 2019-10-22 21:38  Isayama  阅读(108)  评论(0)    收藏  举报