生產(chǎn)者消費(fèi)者模式
大家可能會(huì)碰到這樣一種情況:某個(gè)模塊負(fù)責(zé)產(chǎn)生數(shù)據(jù)吆鹤,這些數(shù)據(jù)由另一個(gè)模塊來負(fù)責(zé)處理(此處的模塊是廣義的厨疙,可以是類、函數(shù)疑务、線程沾凄、進(jìn)程等)。產(chǎn)生數(shù)據(jù)的模塊知允,就形象地稱為生產(chǎn)者撒蟀;而處理數(shù)據(jù)的模塊,就稱為消費(fèi)者温鸽。在生產(chǎn)者與消費(fèi)者之間在加個(gè)緩沖區(qū)保屯,我們形象的稱之為倉庫,生產(chǎn)者負(fù)責(zé)往倉庫了進(jìn)商品涤垫,而消費(fèi)者負(fù)責(zé)從倉庫里拿商品姑尺,這就構(gòu)成了生產(chǎn)者消費(fèi)者模式。
視頻直播中蝠猬,涉及的情況就符合該設(shè)計(jì)模式切蟋。
一個(gè)線程采集視音頻數(shù)據(jù)并編碼,放到一個(gè)BufferList中榆芦。
一個(gè)線程從BufferList中讀取數(shù)據(jù)柄粹,進(jìn)行處理喘鸟。