Implementacija: Glavni nedostatak semafora je što zahtijeva zauzeto čekanje Zauzeto čekanje troši CPU cikluse koje bi neki drugi procesi mogli produktivno koristiti. Ova vrsta semafora također se naziva spinlock jer se proces vrti dok čeka na zaključavanje.
Imaju li semafori redove čekanja?
Implementacija semaforaSemafori se mogu implementirati unutar operativnog sustava povezivanjem sa stanjem procesa i redovima rasporeda: nit koja je blokirana na semaforu premješta se iz pokretanja u čekanje (čekanje specifično za semafor red).
Da li muteksi koriste zauzeto čekanje?
Standardni naspram spin muteksa:
Čekanje u mirovanju: nit koja čeka da zaključa mutex blokirana je u stanju čekanja kao što je objašnjeno u poglavlju 2. Oslobađa CPU, koji se zatim može koristiti za pokretanje druge niti. … Zauzeto čekanje, koje se također naziva spin čekanje, u kojem nit čeka da zaključa mutex ne oslobađa CPU
Koja je razlika između semafora i muteksa?
Mutex je objekt, ali semafor je cjelobrojna varijabla. … Mutex objekt omogućuje višestrukim procesnim nitima pristup jednom dijeljenom resursu, ali samo jednom po jednom. S druge strane, semafor omogućuje višestrukim procesnim nitima pristup konačnoj instanci resursa dok ne bude dostupan.
Koji su glavni problemi semafora?
Klasični problemi sinkronizacije sa semaforskim rješenjem
- Problem ograničenog međuspremnika (ili proizvođač-potrošač): Problem ograničenog međuspremnika također se naziva problem potrošača proizvođača. …
- Problem s blagovaonom i filozofima: …
- Problem s čitateljima i piscima: …
- Problem uspavanog brijača: