[C/C++/信号量]最近看到一个信号量互斥机制的实现,请教其原理

diaoni 2009-01-20 11:35:15
请高手解释一下,这里是怎样做到互斥的?

typedef int _glthread_Mutex;
#define _glthread_DECLARE_STATIC_MUTEX(name) static _glthread_Mutex name = 0
#define _glthread_LOCK_MUTEX(name) (void) name
#define _glthread_UNLOCK_MUTEX(name) (void) name
_glthread_DECLARE_STATIC_MUTEX(OneTimeLock);
static void one_time_init() {
_glthread_LOCK_MUTEX(OneTimeLock);
// do something...
_glthread_UNLOCK_MUTEX(OneTimeLock);
}
...全文
294 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
rightorwrong 2009-02-07
  • 打赏
  • 举报
回复
我也想知道,请高手解答下
diaoni 2009-01-20
  • 打赏
  • 举报
回复
晕,怎么排版成这样了,我把代码版式整理一下


typedef int _glthread_Mutex;

#define _glthread_DECLARE_STATIC_MUTEX(name) static _glthread_Mutex name = 0

#define _glthread_LOCK_MUTEX(name) (void) name

#define _glthread_UNLOCK_MUTEX(name) (void) name

_glthread_DECLARE_STATIC_MUTEX(OneTimeLock);

static void one_time_init() {
_glthread_LOCK_MUTEX(OneTimeLock);
// do something...
_glthread_UNLOCK_MUTEX(OneTimeLock);
}

567

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧