定制 RAII C++作用域互斥锁的实现
我无法使用 boost 或最新的 std::thread 库。解决方法是创建作用域互斥体的自定义实现。
简而言之,当一个类实例创建一个互斥锁时。类销毁后,互斥锁被解锁。
有可用的实施吗?我不想重新发明轮子。
我需要使用 pthreads。
- 资源获取就是初始化==“RAII”
I cannot use boost or the latest std::thread library. The way to go is to create a custom implementation of a scoped mutex.
In a few words when a class instance is create a mutex locks. Upon class destruction the mutex is unlocked.
Any implementation available? I don't want to re-invent the wheel.
I need to use pthreads.
- resource acquisition is initialization == “RAII”
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
任何RAII 教程就可以了。
要点如下:(也在 http://ideone.com/kkB86 上)
当然你可以将其设为通用对于
mutex_t
,您可以防止子类化。由于引用字段
EDIT,复制/分配已被禁止 对于 pthreads:
Any RAII tutorial will do.
Here's the gist: (also on http://ideone.com/kkB86)
Of course you can make it generic towards
mutex_t
, you could prevent subclassing.Copying/assignment is already prohibited because of the reference field
EDIT For pthreads: