ACE_Manual_Event與ACE_Auto_Event區別

 

 

 

在以上例子中,當使用ACE_Manual_Event時,while中的wait將會阻塞,等到執行了signal後,wait就會被喚醒,之後的wait不會被阻塞,因爲此時處於signaled狀態,除非執行reset()變成nonsignaled state,wait纔會重新被阻塞。

 

而使用ACE_Auto_Event時,執行了signal後,wait會被喚醒,但下次wait時仍然會被阻塞,因爲ACE_Auto_Event會自動調用reset()清除signaled 狀態,使之變成nonsignaled state.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章