JAVA消费者与生产者模型的几个不同实现
?????? java的生产者与消费者模型对与理解JAVA的锁机制,线程安全和并发编程来说是一个比较经典的例子,下面就将我遇到过的几种不同的实现跟大家分享一下。
1.使用synchronized关键字
???????? synchronized来 加同步锁,保证线程安全,synchronized锁自1.6后做了很大的优化,对于一般情况下的同步,用此锁已经足已应付。
???? 运行结果 :
???
?运行结果 :
?
共生产了 1 个,还剩 1 个共生产了 2 个,还剩 2 个共生产了 3 个,还剩 3 个共消费了 1 个,还剩 2 个共消费了 2 个,还剩 1 个共消费了 3 个,还剩 0 个共生产了 4 个,还剩 1 个共生产了 5 个,还剩 2 个.......?
还有其他的一些实现方式,欢迎大家分享