生产者与消费者
处在中游的既是上游生产者的消费者,又是下游消费者的生产者;因为生产者与消费者之间存在对公共资源的读写,所以要求实现锁机制以保证线程安全;
这是一种基于流水线形式的设计模式,而流水线就是内存缓冲区,内存缓冲区为空的时候消费者必须等待,而内存缓冲区满的时候,生产者必须等待,通过内存缓冲区进行通信;
消费者在获取数据时候有可能一次不能处理完,那么它们各自有一个请求队列在内存缓冲区,做这项工作的框架叫做消息队列。
对比并行计算要求证明分割的两部分在因果上没有关联,则可以进行并行计算。
(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