[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