Ciao a tutti, ho studiato la teoria dei semafori, nonostante questo non avendo visto un esempio, ho difficoltà a fare un programmino che acceda a una sezione del codice un processo alla volta, qualcuno mi può dare delle dritte? grazie
Ciao a tutti, ho studiato la teoria dei semafori, nonostante questo non avendo visto un esempio, ho difficoltà a fare un programmino che acceda a una sezione del codice un processo alla volta, qualcuno mi può dare delle dritte? grazie
ho fatto questo programma:
ma una volta che il processo è sospeso che si fa per risvegliarlo? non mi è tanto chiaro..codice:#include <sys/types.h> #include <sys/ipc.h> #include <sys/sem.h> #include <stdlib.h> #include <stdio.h> #define KEY 1901 main() { int semid = semget(KEY, 2, IPC_CREAT | 0600); semctl(semid, 0, SETVAL, 1); struct sembuf cmd={0,-2,0}; semop(semid, &cmd,1); struct sembuf cmd2={0,1,0}; semop(semid, &cmd2,1); int val = semctl(semid, 0, GETVAL, NULL); printf("valore del semaforo in posizione 0: %d \n", val); }
sto diventando pazzo, mi rispondo da solo! ^_^ Dovevo fare il risveglio da un altro processo...