linux下的c語言編程步驟 在生產(chǎn)者 - 消費者問題中,如果缺少了signal(full) 或signal(empty) ,對執(zhí)行結果將會有何影響?
在生產(chǎn)者 - 消費者問題中,如果缺少了signal(full) 或signal(empty) ,對執(zhí)行結果將會有何影響?如果signal(full)丟失,則表示自第一個生產(chǎn)者進程以來,信號量full值
在生產(chǎn)者 - 消費者問題中,如果缺少了signal(full) 或signal(empty) ,對執(zhí)行結果將會有何影響?
如果signal(full)丟失,則表示自第一個生產(chǎn)者進程以來,信號量full值未更改。
即使緩沖池產(chǎn)品已滿,full值仍為0,因此消費者進程在執(zhí)行wait(full)]時認為緩沖池為空,無法獲取產(chǎn)品,因此消費者進程被忽略總是在等待。
如果缺少信號(空),則在生產(chǎn)者進程用產(chǎn)品填充n個緩沖區(qū)后,使用者進程將開始從中提取產(chǎn)品。此時,empty=0,full=n,然后每次使用者進程獲取產(chǎn)品時,空值都不會更改
直到緩沖池為空,空值也為0。即使緩沖池中有n個空緩沖區(qū),生產(chǎn)者進程也必須
返回緩沖池產(chǎn)品發(fā)布也會被阻止,因為應用程序無法到達空緩沖區(qū)。