Skip to content

lzp16/demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

##1、生产者消费者模式

  • 生产者消费者模式并不是GOF提出的23种设计模式之一,23种设计模式都是建立在面向对象的基础之上的,但其实面向过程的编程中也有很多高效的编程模式,生产者消费者模式便是其中之一,它是我们编程过程中最常用的一种设计模式。
  • 生产者和消费者在同一时间段内共用同一个存储空间,生产者往存储空间中添加产品,消费者从存储空间中取走产品,当存储空间为空时,消费者阻塞,当存储空间满时,生产者阻塞。
  • [生产者]----生产产品--->[缓冲区]----消费产品--->[消费者]
  • 实现方法:
    • wait()和notify()的实现
    • 可重入锁ReentrantLock和Condition的await() / signal()方法的实现
    • 阻塞队列BlockingQueue的实现
    • 信号量Semaphore的实现:通过释放令牌的形式去控制生产者消费者的上限,使用互斥锁保证每次最多只有一个角色去修改共享变量。
    • 管道输入输出流PipedInputStream和PipedOutputStream的实现,这种只能是1对1的,不做实现了
    • 使用Disruptor框架

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published