Linux生產者與消費者(321原則)
3種關係
生產者與消費者的互斥與同步關係
生產者與生產者的互斥/競爭關係
消費者與消費者的互斥/競爭關係
2種角色
生產者:往交易場所放東西(在計算機中一般都是數據)的人
消費者:從交易場所取東西的人
1個交易場所
內存中具有存儲數據的一段有界緩衝區
規則
生產者優先:消費者永遠不能追上消費者/生產者;
生產者不能將消費者包一圈。
基於單鏈表的生產者消費模型
兩個線程表示生產者與消費者,用單鏈表表示緩衝區
生產者生產數據,插入到單鏈表的頭部
消費者消費數據,從單鏈表的頭部讀取數據