
本文共 3492 字,大约阅读时间需要 11 分钟。
���������pthread_mutex���C���������������������������������������������
������������������������pthread_mutex���C���������������������������������������OC������NSLock������������������������������������pthread_mutex������������������������pthread_mutex���������API���������������������������������
������������������
������pthread_mutex_init���������������������������
int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *attr);
������������������������
pthread_mutex_t mutex���������������������������������������
pthread_mutexattr_t attr���������������������������������������������
������������������������
-
PTHREAD_MUTEX_NORMAL���������������������������������������������������������������������������������������������������������������������������������
-
PTHREAD_MUTEX_ERRORCHECK������������������������������������������������������������������EDEADLK������������������������������������������������������������
-
PTHREAD_MUTEX_RECURSIVE������������������������������������������������������������������������������������������������
-
PTHREAD_MUTEX_DEFAULT���������������������������������������������������������������������������
���������������
static pthread_mutex_t myMutex = NULL;if (pthread_mutex_init(&myMutex, NULL) != 0) { /* ��������������������� */}
���������������������������
���������
int pthread_mutex_lock(pthread_mutex_t *mutex);
-
������������0������������������������������
-
���������������������������������������������������������������������������������
���������������
int pthread_mutex_trylock(pthread_mutex_t *mutex);
-
������������0���������������������
-
���������������������������EBUSY���������������������������
���������������
int shared_data = 0; pthread_mutex_lock(&myMutex); shared_data++; pthread_mutex_unlock(&myMutex);
���������������
������������
int pthread_mutex_unlock(pthread_mutex_t *mutex);
���������������
-
������������0���
-
���������������������������������������
���������������
locker Programs
int pthread_mutex_destroy(pthread_mutex_t *mutex);
���������
-
������������������������������������������������������
-
������������������������������������
���������
if (pthread_mutex_destroy(&myMutex) != 0) { /* ������������������ */}
������������������������
���������������������
int pthread_mutexattr_setpshared(pthread_mutexattr_t *attr, bool shared);
���������
- shared���������true������������������������������������false������������������������������������
���������������
int pthread_mutexattr_getpshared(pthread_mutexattr_t *attr, bool *shared);
���������
pthread_mutexattr_t attr = {0};// ���������������������������attr.pshared = false;if (pthread_mutexattr_init(&attr, PTHREAD_MUTEXattr_init) != 0) { /* ������������������������ */}
������������������������
���������������������pthread_mutex_getattr
������������
-
���������������������������������������������������������������������������
-
������������������������ disablesmmoter������������.
##���������������������
���������������������������������������������������������������������������������������������������
������������������������
���������������
������������������������������������������PTHREAD_MUTEX_RECURSIVE
���������������������������������������������������������������������
������������������
������������������������������������������������������������������������������������������������������
���������������������������������������������������������������pthread_mutex
���������������������������������������������������������������
发表评论
最新留言
关于作者
