这里的消息不是指之前开发的私信。而是服务器自动发送系统消息、系统通知。
1 阻塞队列BlockingQueue
线程1往队列存数据,线程2是从队列中取数据,BlockingQueue是在两个线程之间构建;额一个缓冲空间。
如果没有BlockingQueue:
- 情况1:线程1生产数据点速度远远快于线程2消费数据的速度,那么线程1多余的产出会占用CPU资源,浪费系统性能。
- 情况2:反过来,线程2消费数据的速度远远快于线程1生产数据点速度,那么线程2最后也是做无用功,浪费系统资源。
如果有BlockingQueue:
- 情况1:线程1生成的数据放到队列,直到把BlockingQueue队列填满,线程1就被阻塞(不会占用系统资源)
- 情况2:BlockingQueue队列空了,线程2也会被阻塞,不会占用系统资源
BlockingQueue是一个接口,不能直接使用,要用实现类实现接口的方法。