Синхронизиране със семафори
#inlude<semaphore.h>
int sem_init(sem_t *sem, int pshared, unsigned int value);
int sem_wait(sem_t *sem);
int sem_post(sem_t *sem);
int sem_destroy(sem_t *sem);
sem_init() инициализира неименован семафор на адреса, посочен от аргумента sem. Аргументът value указва началната стойност на семафора.
sem_wait() декрементира (заключва) семафора, посочен от аргумента sem. Ако в момента семафорът има стойност нула, извикването се блокира.
sem_post() увеличава (отключва) семафора, посочен от аргумента sem.
sem_destroy() унищожава неименован семафор на адреса, посочен от аргумента sem.
PreviousПример за синхронизиране посредством използване на мютексNextПример за синхронизиране посредством използване на семафор
Last updated
Was this helpful?