假設(shè)有32 個存儲區(qū)域,其編號為0,1,…,31,用一個32 位的標(biāo)志字,位號也是0,1,…31,分別描述32 個存儲區(qū)域使用狀態(tài):當(dāng)某一位為1 時,表示對應(yīng)存儲區(qū)域已分配,若為0,表示對應(yīng)存儲區(qū)域空閑。
get進(jìn)程: 負(fù)責(zé)存儲區(qū)域分配,每次分配一個區(qū)域,找出標(biāo)志字某為0 的位置成1。
put進(jìn)程: 負(fù)責(zé)存儲區(qū)域回收,把回收存儲區(qū)域標(biāo)志字對應(yīng)位清成0。
實質(zhì)上是兩個進(jìn)程的同步問題,設(shè)信號量S1和S2分別表示可揀白子和黑子,不失一般性,若令先揀白子。