Szemaforok Unixban
adattípus | műveletek | használat AIX-en | használat Linuxon | |
---|---|---|---|---|
systemV IPC | int | semget semop(sem_op=-1) semop(sem_op=1) semctl(IPC_RMID) | szálak és processzek | szálak és processzek |
POSIX szemaforok (névtelen) | sem_t | sem_init sem_wait,sem_trywait,sem_timedwait sem_post sem_destroy | szálak és processzek (1. megjegyzés) | szálak és processzek (1. és 2. megjegyzés) |
POSIX szemaforok (névvel) | sem_t * | sem_open sem_wait sem_post sem_close,sem_unlink | szálak és processzek | szálak és processzek |
pthread | pthread_mutex_t | pthread_mutex_init pthread_mutex_lock,pthread_mutex_trylock pthread_mutex_unlock pthread_mutex_destroy | csak szálak | csak szálak |
sem_op op[3] = { 0: sem_num=1 sem_op=0 sem_flg=IPC_NOWAIT ha már inicializáltuk, akkor itt kilépünk 1: sem_num=1 sem_op=1 sem_flg=IPC_NOWAIT egyébként most megtesszük 2: sem_num=0 sem_op=1 sem_flg=IPC_NOWAIT ez az igazi inicializálás }