5
|
Lars Nielsen · 技术社区 · 6 年前 |
1
14
为了复制包含 互斥体 您必须编写自定义 复制构造函数 和 复制分配运算符 . 您不需要复制 互斥体 复制对象,因为 互斥体 不是对象的一部分 价值 ,它只是一种保护访问的工具。 复制时,的互斥体 二者都 需要使用对象来保护 值成员 在复制过程中。 例如:
也可以为编写类似的函数 移动 对象。
如果你有
|
2
1
您的类可能包含一个互斥体作为成员,但您的类自动不可复制,因为互斥体不可复制,而互斥体现在是类的一部分。 所以,无论您在哪里复制类(在您没有向我们展示的代码中),都不能再这样做了。 出于同样的原因,您的类现在也不可移动。 如果这是一个问题,您可以将互斥锁隐藏在共享指针之类的东西后面。然而,我会担心共享指针的同步,所以尽量不要… |
da cheng · 在c++11中使用条件变量使程序陷入死锁 6 年前 |
Eunjeong Choi · 为什么此代码返回意外结果?(条件变量) 6 年前 |
Razonixx · 从线程内增加全局计数器变量,而不必等待每个线程 6 年前 |
Administrator · c#-等待完成2个线程中的1个 6 年前 |
Francis Cugler · 删除Windows库依赖项 6 年前 |
AshR · 程序断断续续地使用main报告与线程本身不同的线程id 7 年前 |
user7256215 · 在macOS内核扩展中有效地使用同步 7 年前 |