2
我在寫一個Linux內核模塊。 有兩個進程A,B和兩個等待隊列WQA和WQB。目前A程序正在WQA上休眠。在等待隊列中喚醒進程
我希望A在B睡在WQB上時醒來,這樣當A開始時B已經在WQB上等待。我如何自動喚醒A並將B置於WQB上?
我在寫一個Linux內核模塊。 有兩個進程A,B和兩個等待隊列WQA和WQB。目前A程序正在WQA上休眠。在等待隊列中喚醒進程
我希望A在B睡在WQB上時醒來,這樣當A開始時B已經在WQB上等待。我如何自動喚醒A並將B置於WQB上?
使用2個信號燈怎麼樣?
進程A在信號量A處睡眠。然後進程B將會提升信號量A並向信號量B請求向下(),這將使他睡眠。再次,一旦A完成他的工作,它可以提高信號量B(並喚醒B),然後在信號量A上進入睡眠狀態。
爲什麼你想要這個...? – bdonlan 2011-05-29 06:17:58