皆可吧@@ 恐龍本上都有提到突然想起差別了Wakeup() block() 這兩個指令是當 signal(S) 大於s wait(S) 小於s使用
![]()
" target="_blank" rel="nofollow">
![]()
![]()
" target="_blank" rel="nofollow">
![]()
而disable interrupt &busy waiting 則是使用 MutexLock時的選擇作法而已簡單來說 它們皆是解決同步問題的tool 但是是不一樣的東西恐龍本反而沒提起利用interrupt 去實作 semaphore而是利用 block and wakeup去實作個人想法是因為 interrupt Cost太高了 反而直接用這兩個sys call 比較好重新整理一下我的思緒 首先在Semaphore 的wait()中 busy waiting 就是指S-- 這點能接受了話