Ho bisogno di fare un po 'di sincronizzazione dei processi in C. Voglio usare un monitor, e ho letto molto su di loro. Tuttavia non sono riuscito a scoprire come implementare uno in C. Li ho visti fare in Java e in altri linguaggi come C++, ma non riesco a trovare esempi in C.Come posso codificare un monitor in C?
Ho guardato attraverso K & R e non c'è nessun esempio in là. Ho sfogliato la programmazione dei sistemi Unix, la comunicazione, la concorrenza e le discussioni, ma non sono riuscito a trovare un'implementazione del monitor.
Questo mi porta qui. Dove e come si definisce un monitor? Come posso implementarlo nel resto del codice?
/* sto codifica in un ambiente * nix */
Questa implementazione avviene tramite una funzione? Ho visto alcuni codici minori come: monitorare la rete {/ * codice e le condizioni qui * /}. Era quello pseudo codice o c'è anche una struttura parola/dati per i monitor? –
Ho eliminato la funzione di monitoraggio che avevo e l'ho sostituita con una risposta più diretta. Se ti piace quel codice, fammelo sapere, ho solo riletto la tua domanda e ho visto che non era proprio quello che stavi chiedendo. Nel tuo commento sopra quel codice a cui ti riferisci è pseudo codice, per quanto sappia che il costrutto non esiste in C. – JonVD
Grazie, penso che proverò a implementare il mio tramite una funzione con i semafori in main e provare a usalo per monitorare vari thread. Ho bisogno di leggere di più sull'argomento, è piuttosto complesso. –