另一個經典同步問題:吸煙者問題(patil,1971)。三個吸煙者在一個房間內,還有一個香煙供應者。為了制造并抽掉香煙,每個吸煙者需要三樣東西:煙草、紙和火柴,供應者有豐富貨物提供。三個吸煙者中,第一個有自己的煙草,第二個有自己的紙和第三個有自己的火柴。供應者隨機地將兩樣東西放在桌子上,允許一個吸煙者進行對健康不利的吸煙。當吸煙者完成吸煙后喚醒供應者,供應者再把兩樣東西放在桌子上,喚醒另一個吸煙者。試采用:
(1)信號量和P、V操作;
(2)管程編寫他們同步工作的程序。


一個快餐廳有4類職員:
(1)領班:接受顧客點菜;
(2)廚師:準備顧客的飯菜;
(3)打包工:將做好的飯菜打包;
(4)出納員:收款并提交食品。
每個職員可被看作一個進程,試用一種同步機制寫出能讓四類職員正確并發(fā)運行的程序。