线程终止/退出后正在验证数据结构
Validating data structures after thread termination/exit
我的程序中有多个线程,其中一个线程在内部数据结构上运行。由于某些错误,此线程退出,使数据结构处于无效状态。其他线程如何在以后访问时正确验证数据结构的状态?一般来说,如何处理这种情况?
最好的答案是确保线程不会退出,从而使数据结构无效。除此之外,唯一的解决方案是:
课堂上:
bool m_data_valid = true; // Or possibly 'false' and set it true in constructor
在变化线程中:
m_data_valid = false;
... // Mutate structure
m_data_valid = true;
在其他线程中:
if (!m_data_valid)
fixup(); // Or whatever you were going to do.
相关文章:
- 链表,反向函数,数据结构
- 如何使用set实现无序数据结构?
- 我们可以将数据永久保存为数据结构吗?
- C++中的可变长度数组/数据结构
- 用于存储由空格分隔的字符串的 C++/C 数据结构
- 通过 NIF 从C++返回自定义数据结构
- 编译器上的策略数据结构不起作用
- 尝试构建"lock-free"数据结构C++
- 设计将引用元素移动到开头的数据结构.C++
- 在学习数据结构之前对STL有一个了解是好的吗?
- 如何解析表示树状数据结构的字符串
- 我对数据结构、双向链表有一些问题
- googletest:测试太大的数据结构
- C++中deque数据结构的大O是什么?
- 我可以使用哪种数据结构来处理这种方式
- 将文本文件解析为树状数据结构
- C++ 中具有 O(1) 搜索时间复杂度的数据结构
- 哪些存储了不完整类型的 STL 数据结构可以用作类成员?
- C++,您能否设计一种数据结构,将指针保存在连续内存中并且不会使它们失效?
- 线程终止/退出后正在验证数据结构