进程互斥锁
让并发变成了串行,牺牲了执行效率,保证了数据安全
在程序并发执行时,需要修改数据时使用
队列
队列是先进先出
相当于内存中产生一个队列空间,可以存放多个数据,先进去的数据排在前面
堆栈
堆栈是先进后出
IPC(进程间通信)
进程间数据时相互隔离的,若想实现进程间通信,可以利用队列
生产者与消费者
生产者:生产数据的
消费者:使用数据的
在程序中:通过队列,生产者把数据添加队列中,消费者从队列中获取数据
线程
什么是线程
线程和进程都是虚拟单位,目的是为了更好的描述某件事物
- 进程:资源单位
- 线程:执行单位
为什么要使用线程
节省内存资源
开启进程
- 开辟一个名称空间, 每开启一个进程都会占用一份内存资源
- 会自带一个主线程
开启线程
- 一个进程可以开启多个线程
- 线程的开销远小于进程
注意:线程不能实现并行,线程只能实现并发,进程可以实现并行
线程互斥锁
线程之间数据是共享的