Avatar billede hjalten5 Nybegynder
06. februar 2004 - 13:46 Der er 1 kommentar

Tællesemafor vs binær semafor

Hvordan implementeres den generelle tællesemafor, der kan tage negative værdier? Den almindelige binære semafor som beskrevet i wrox BLP, giver rigtig funktionalitet, men de negative værdier ses aldrig.
Avatar billede tefcke Nybegynder
06. februar 2004 - 14:16 #1
Forskellen på en binær og en tælle semafor er, at en binær semafor kan antage to værdier, true/false, on/off, open/closed. Dette medvirker til at kun en enkelt proces kan få lov til at være inden i et stykke kode som som er omkrandset af en binær semafor.
Med en tælle semafor har den egenskab af man kan tillade et antal processer at tilgå det samme stykke kode, med en begrænsning på hvor mange der er tilladt.
Normalt initialiserer man en tællesemafor til +3 (eller -3), hvis man tillader 3 processer at på en gang. Hver gang en proces kommer forbi semaforen, tæller man semaforen 1 ned, hhv. op (alt efter om man starter med negative eller positive værdier). Når semaforen er 0 blokkerer den de processer som ønsker tilgang. I det der bliver signaleret til tællesemaforen, bliver en af de ventende processer aktiveret.

Jeg ved ikke om det hjælper eller om du vil vide hvordan man laver en tællesemafor af en binær semafor.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester