[問題] semaphore和completion的比較
假設有一個process,
如果它執行down(struct semaphore *sem)時,
發現權杖被其它process拿走了,
那這個process它之後休眠時,
會休眠到什麼時候呢?
是不是只要其他process把權杖釋放出來了,
它就會馬上醒過來呢?
如果是這樣的話,
那struct semaphore跟struct completion有什麼不一樣呢?
completion是process離開critical section,把鎖解開之後,
就通知正在等待的process,
感覺這跟semaphore一樣都是休眠到其它process把鎖解開.
請問struct semaphore跟struct completion的不一樣地方在哪兒呢?
什麼情況下使用completion會比semaphore還要好呢?
謝謝~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.248.18.139
推
04/07 13:16, , 1F
04/07 13:16, 1F
→
04/07 13:17, , 2F
04/07 13:17, 2F
→
04/08 11:05, , 3F
04/08 11:05, 3F
LinuxDev 近期熱門文章
PTT數位生活區 即時熱門文章