1、生产消费者
生产消费者模式概述
生产者消费者模式是一个十分经典的多线程协作的模式,弄懂生产者消费者问题能够让我们对多线程编程的理解更加深刻
所谓生产者消费者问题,实际上主要是包含了两类线程:
1.生产者线程用于生产数据
消费者线程用于消费数据
为了解耦生产者和消费者的关系,通常会采用共享的数据区域,就像是一个仓库
生产者生产数据之后直接放置在共享数据区中,并不需要关心消费者的行为
消费者只需要从共享数据区中去获取数据,并不需要关心生产者的行为
2、线程同步
同步代码块
锁多条语句操作共享数据,可以使用同步代码块实现
synchronie(任意对象):就相当于给代码加锁了,任意对象就可以看成是一把锁。
同步的好处和弊端:
好处: 解决了多线程的数据安全问题。
弊端: 当线程很多时,因为每个线程都会去判断同步上的锁。这是很耗费资源的。无形中会降低程序的运行效率。