[so] so Digest, Vol 65, Issue 5
Razvan Deaconescu
razvan.deaconescu at cs.pub.ro
Sat Sep 17 17:17:26 EEST 2011
On Sat, 2011-09-17 at 04:20 -0700, Razvan Pistolea wrote:
> SemaforGeneral(N){
>
> c = N // contor; lasa maxim N
> mutex = SemaforBinar(1) // protejeaza contorul
> s2 = SemaforBinar(N>1?1:0) // implementeaza "notificarea"
>
> wait()
> s2.wait()
> mutex.wait()
> c--
> if c > 0
> s2.release()
> mutex.release()
>
> release()
> mutex.wait()
> c++
> if c == 1
> s2.release()
> mutex.release()
> }
Da, așa este. Mulțumim de observație.
Am găsit și pe Google[1]. Am actualizat rezolvarea[2].
[1] http://webhome.csc.uvic.ca/~mcheng/460/notes/gensem.pdf
[2] http://elf.cs.pub.ro/so/wiki/examen#lucrare-2
Răzvan
More information about the so
mailing list