rwlock.h

来自「实现了面向多线程应用程序的读写锁」· C头文件 代码 · 共 34 行

H
34
字号
#ifndef	__pthread_rwlock_H
#define	__pthread_rwlock_H

#include <pthread.h>

typedef struct
{
	pthread_mutex_t	rw_mutex;
	pthread_cond_t	rw_condreaders;
	pthread_cond_t	rw_condwriters;
	int	rw_magic;
	int	rw_nwaitreaders;
	int	rw_nwaitwriters;
	int	rw_refcount;
}pthread_rwlock_t;

#define	RW_MAGIC	0x19283746

#define	PTHREAD_RWLOCK_INITIALIZER {PTHREAD_MUTEX_INITIALIZER,\
	PTHREAD_COND_INITIALIZER,PTHREAD_COND_INITIALIZER,RW_MAGIC,0,0,0 }

//	typedef	int	pthread_rwclockattr_t;

int	pthread_rwlock_init(pthread_rwlock_t *rw, int * attr);
int pthread_rwlock_destroy(pthread_rwlock_t *rw);
int	pthread_rwlock_rdlock(pthread_rwlock_t *rw);
int pthread_rwlock_tryrdlock(pthread_rwlock_t *rw);
int pthread_rwlock_trywrlock(pthread_rwlock_t *rw);
int	pthread_rwlock_wrlock(pthread_rwlock_t *rw);
int	pthread_rwlock_unlock(pthread_rwlock_t *rw);

#endif

⌨️ 快捷键说明

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