mutex3.c

来自「cygwin, 著名的在win32下模拟unix操作系统的东东」· C语言 代码 · 共 44 行

C
44
字号
/*  * mutex3.c * * Declare a static mutex object, lock it, trylock it,  * and then unlock it again. * * Depends on API functions:  *	pthread_mutex_lock() *	pthread_mutex_trylock() *	pthread_mutex_unlock() */#include "test.h" pthread_mutex_t mutex1 = PTHREAD_MUTEX_INITIALIZER;static int washere = 0;void * func(void * arg){  assert(pthread_mutex_trylock(&mutex1) == EBUSY);  washere = 1;  return 0; } intmain(){  pthread_t t;  assert(pthread_mutex_lock(&mutex1) == 0);  assert(pthread_create(&t, NULL, func, NULL) == 0);  assert(pthread_join(t, NULL) == 0);  assert(pthread_mutex_unlock(&mutex1) == 0);  assert(washere == 1);  return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?