作者larkes (larkes)
看板LinuxDev
标题[问题] semaphore和completion的比较
时间Fri Apr 6 23:54:55 2012
假设有一个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
2F:→ heoris:在某些条件下,completion使用上会比semaphore来的有效率 04/07 13:17
3F:→ larkes:收到~谢谢喔~ 04/08 11:05