Domande con tag 'semaphore'

1
risposta

Perché un semaforo è chiamato semaforo?

Non mi sembra che un semaforo ferroviario descriva un semaforo migliore di qualsiasi altro oggetto di segnalazione generico, come una bandiera o un semaforo. Anche qualcosa come un portachiavi (le persone prendono le chiavi dall'anello per acced...
posta 25.09.2017 - 03:21
2
risposte

Mutex vs Semaphore: come implementarli _non_ in termini di altro?

Recentemente ho dovuto implementare un semaforo usando un mutex e una variabile condizionale (questa combinazione è anche conosciuta come monitor) per un esercizio all'università: the Semaphore's decrement operation blocks until its counter...
posta 16.01.2017 - 16:25
1
risposta

Soluzione semplice per chiamare una funzione solo su un thread, in coda per le chiamate in attesa?

Supponiamo che esista una funzione EventHandler chiamata su più thread in momenti diversi. EventHandler deve chiamare SomeOtherFunction , ma queste chiamate devono avvenire solo su un thread alla volta. Ciò significa: se un...
posta 27.02.2018 - 15:20
2
risposte

Come funziona il segnale del semaforo

Sembra che abbia problemi a capire l'implementazione del semaforo. Q = coda. Wait(Process P) { value = value -1; if (value <0) { add P to Q; P->block(); } Signal() { value = value +1; if (value <=0) {...
posta 13.07.2017 - 09:09
1
risposta

È meglio inizializzare i semafori nella memoria condivisa o darli come argomenti della riga di comando? (C ++)

Sono su un progetto per il quale devo generare molti processi diversi, tutti in diversi eseguibili, e ci saranno alcuni segmenti di memoria condivisa e alcuni semafori per sincronizzarli. Uso un processo di "inizializzazione" per aprire alcuni s...
posta 04.12.2018 - 11:47
1
risposta

Esiste una condizione di competizione per più thread su più core che cercano di bloccare una variabile globale?

Capisco in un sistema single core, più thread operano in sequenza, programmati dal sistema operativo. Quindi non è possibile avere una condizione di gara poiché per definizione stanno alternando a turno una variabile. Tuttavia, se ho un proce...
posta 02.09.2018 - 20:40