互斥锁使用方法 (Mutex Usage) | ![]() ![]() |
int pthread_mutex_init( pthread_mutex_t *mutex,constpthread_mutexattr_t
*attr = NULL ); pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
初始化一个互斥锁。
错误 EAGAIN,ENOMEM,EPERM,EBUSY,EINVAL
int pthread_mutex_destroy( pthread_mutex_t *mutex );
毁坏一个互斥锁。
错误 EBUSY,EINVAL
int pthread_mkutex_getprioceiling(constpthread_mutex_t *mutex, int
*prioceiling );
得到指定互斥锁的优先上限值。
控制 _POSIX_THREAD_PRIO_PROTECT
错误 ENOSYS,EINVAL,EPERM
int pthread_mutex_setprioceiling( pthread_mutex_t *mutex, int prioceiling,
int *old_ceiling );
设置指定互斥锁的优先上限值并返回原来的优先上限值。
控制 _POSIX_THREAD_PRIO_PROTECT
错误 ENOSYS,EINVAL,EPERM
int pthread_mutex_lock( pthread_mutex_t *mutex );
获取所指定的互斥锁。
错误 EINVAL,EBYSY,EINVAL
int pthread_mutex_trylock( pthread_mutex_t *mutex );
试着获取所指定的互斥锁。
错误 EINVAL,EBYSY,EINVAL
int pthread_mutex_unlock( pthread_mutex_t *mutex );
释放(原来获取的)互斥锁。
错误 EINVAL,EPERM
Copyright: NPACT | ![]() ![]() |