![]() |
1
4
像这样的怎么样? 它未经测试,但应该接近正常。 您可以考虑让模板类保存一个值而不是指针 如果互斥体支持正确的构造类型。否则,您可以专门化mymutex类以获得值行为。 另外,它也不小心复制或销毁。我把它作为练习留给读者;)(共享或存储值而不是指针应该可以解决这个问题) 哦,使用RAII代码会更好,而不是显式的锁定/解锁…但这是一个不同的问题。我想这就是你代码中的唯一锁的作用?
|
![]() |
2
3
因为这两个互斥类
注释 :这基本上就是迈克尔提出的解决方案所实现的。我建议你接受他的回答。 |
![]() |
3
1
你听说过吗
您可以定义
这样,您的用户可以使用一个简单的编译时开关来选择他们的策略,并且可以一次覆盖一个实例;) |
![]() |
4
0
这还不够吗?
|
![]() |
5
0
通常,只有在多个进程之间共享资源时才需要互斥。如果对象的实例对于一个(可能是多线程的)进程是唯一的,那么关键部分通常更合适。 在Windows中,关键部分的单线程实现。 是 一个假的。不确定您使用的平台。 |
![]() |
6
0
仅供参考,这里是我最终的实现。
我去掉了抽象基类,将其与no-op“dummy”实现合并。还注意到
头文件:
实施文件:
|
![]() |
7
0
这是我的解决方案:
|
![]() |
AstralHex · 矩阵乘法代码工作不正常 4 月前 |
![]() |
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 5 月前 |
![]() |
Die4Toast · 递归调用成员箭头运算符-> 5 月前 |
![]() |
Anka Hanım · 关于结构和动态数组地址的问题 5 月前 |