设为首页 加入收藏

TOP

1.1.2 MutexLock 与MutexLockGuard
2013-10-07 16:02:27 来源: 作者: 【 】 浏览:80
Tags:1.1.2 MutexLock MutexLockGuard

1.1.2 MutexLock 与MutexLockGuard

为了便于后文讨论,先约定两个工具类。我相信每个写C++(www.cppentry.com) 多线程程序的人都实现过或使用过类似功能的类,代码见§2.4。

MutexLock 封装临界区(critical section),这是一个简单的资源类,用RAII 手法[CCS,条款13] 封装互斥器的创建与销毁。临界区在Windows 上是struct CRITICAL_SECTION,是可重入的;在Linux 下是pthread_mutex_t,默认是不可重入的。MutexLock 一般是别的class 的数据成员。

MutexLockGuard 封装临界区的进入和退出,即加锁和解锁。MutexLockGuard 一般是个栈上对象,它的作用域刚好等于临界区域。

这两个class 都不允许拷贝构造和赋值,它们的使用原则见§2.1。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇1.1.1 线程安全的定义 下一篇1.1.3 一个线程安全的Counter 示例

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·MySQL 安装及连接-腾 (2025-12-25 06:20:28)
·MySQL的下载、安装、 (2025-12-25 06:20:26)
·MySQL 中文网:探索 (2025-12-25 06:20:23)
·Shell脚本:Linux Sh (2025-12-25 05:50:11)
·VMware虚拟机安装Lin (2025-12-25 05:50:08)