java生产者 消费者模式概念讲解
首先我們要了解生成者和消費(fèi)者的基本概念
我們舉個(gè)小例子
圖里是一個(gè)奶箱 但里面并沒(méi)有牛奶 我們想喝也沒(méi)用
然后 送奶的工人送來(lái)了幾瓶牛奶
然后工人會(huì)把牛奶放進(jìn)奶箱 然后 把箱子給你鎖上
然后你就可以去奶箱里拿奶來(lái)喝
這里 我們就可以比喻成 奶箱是一個(gè)存儲(chǔ)數(shù)據(jù)的容器 送奶工是生產(chǎn)者 我們是消費(fèi)者
生產(chǎn)者 和 消費(fèi)者 是一個(gè)非常經(jīng)典的多線(xiàn)程協(xié)作模式
生產(chǎn)者和消費(fèi)者模式 主要分為兩種線(xiàn)程
生產(chǎn)者線(xiàn)程 負(fù)責(zé)生產(chǎn)數(shù)據(jù)
消費(fèi)者線(xiàn)程 負(fù)責(zé)消費(fèi)數(shù)據(jù)
為了更好的解耦生產(chǎn)者和消費(fèi)者的關(guān)系,通常采用共享的數(shù)據(jù)區(qū)域
生產(chǎn)者線(xiàn)程生產(chǎn)數(shù)據(jù) 放置在共享區(qū)域 并不需要關(guān)系消費(fèi)者的行為
消費(fèi)者 只需要消費(fèi)共享區(qū)的數(shù)據(jù) 并不需要關(guān)系生產(chǎn)者的行為
但其實(shí)在運(yùn)行過(guò)程中會(huì)出現(xiàn)這樣的問(wèn)題 例如
生產(chǎn)者生產(chǎn)后發(fā)現(xiàn)消費(fèi)者并沒(méi)有消費(fèi)
或
消費(fèi)者消費(fèi)時(shí) 發(fā)現(xiàn)生產(chǎn)者并沒(méi)有生產(chǎn)數(shù)據(jù)
這就是 我們生產(chǎn)者 消費(fèi)者模式 經(jīng)典的等待和喚醒
等待和喚醒
主要就是一下三個(gè)方法
生產(chǎn)者和消費(fèi)者概念也就到這啦
總結(jié)
以上是生活随笔為你收集整理的java生产者 消费者模式概念讲解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 1287:最低通行费——数字三角形模型
- 下一篇: 供水管网压力如何进行精细化管理?