📄 lock.h
字号:
#ifndef _LOCK_H#define _LOCK_Htypedef struct lock lock;typedef struct mlock mlock;struct lock { sem_id s; long c;};struct mlock { sem_id s;};extern int new_lock(lock *l, const char *name);extern int free_lock(lock *l);#define LOCK(l) if (atomic_add(&l.c, -1) <= 0) acquire_sem(l.s);#define UNLOCK(l) if (atomic_add(&l.c, 1) < 0) release_sem(l.s);extern int new_mlock(mlock *l, long c, const char *name);extern int free_mlock(mlock *l);#define LOCKM(l,cnt) acquire_sem_etc(l.s, cnt, 0, 0.0)#define UNLOCKM(l,cnt) release_sem_etc(l.s, cnt, 0)#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -