生产者与消费者
处在中游的既是上游生产者的消费者, 又是下游消费者的生产者; 因为生产者与消费者之间存在对公共资源的读写, 所以要求实现锁机制以保证线程安全;
这是一种基于流水线形式的设计模式, 而流水线就是内存缓冲区, 内存缓冲区为空的时候消费者必须等待, 而内存缓冲区满的时候, 生产者必须等待, 通过内存缓冲区进行通信;
消费者在获取数据时候有可能一次不能处理完, 那么它们各自有一个请求队列在内存缓冲区, 做这项工作的框架叫做消息队列.
对比并行计算要求证明分割的两部分在因果上没有关联, 则可以进行并行计算.
(1)Object 的 wait() / notify() 方法 synchronized{}
(2)Lock 和 Condition 的 await() / signal() 方法
(3)BlockingQueue 阻塞队列方法
- java.util.concurrent.ArrayBlockingQueue
- java.util.concurrent.LinkedBlockingQueue
- java.util.concurrent.SynchronousQueue
- java.util.concurrent.PriorityBlockingQueue
- (4)PipedInputStream / PipedOutputStream
来源: http://www.bubuko.com/infodetail-2881328.html