Multicore en synchronisatie
Wat is het meest passende gebruik van een tellende semafoor?
- ADe waarde van een variabele altijd verdubbelen
- BDe uitvoering van het programma bundelen in één thread
- CEen resource met een vast aantal gelijktijdige gebruikers (bijvoorbeeld maximaal 4 verbindingen) door maximaal 4 threads tegelijk laten gebruiken
Antwoord en toelichting tonen
Antwoord: C. Een resource met een vast aantal gelijktijdige gebruikers (bijvoorbeeld maximaal 4 verbindingen) door maximaal 4 threads tegelijk laten gebruiken
Een semafoor heeft een teller voor het resterende aantal, verlaagt die vóór gebruik met 1 (bij 0 wordt gewacht tot hij toeneemt) en verhoogt hem na gebruik met 1. Bij beginwaarde 4 kunnen maximaal 4 threads tegelijk de resource gebruiken. Bij beginwaarde 1 kan hij als lock voor uitsluiting dienen. Wachtende threads worden gewoonlijk door het besturingssysteem in slaap gebracht en gewekt.