c - 多线程访问树中的数据

标签 c multithreading data-structures thread-safety binary-search-tree

我想在 C/C++ 中创建二叉搜索树数据结构,其中每个节点都保存一些数据(对象或指针)。我将在多线程环境中访问这棵树,如果我能保证每个线程都将访问(读取)树的不同子树/路径/节点,那么修改存储的对象(或数据指针指向)是线程安全的在节点中,所以我可以避免锁定?

最佳答案

锁定不是目标,提供对资源的独占访问才是。锁定是实现该目标的手段。您已经说过您可以通过其他方式实现该目标。使用这种其他方式将与使用锁一样线程安全。

关于c - 多线程访问树中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6476110/

相关文章:

algorithm - 反转字符串中单词的顺序

haskell - 如何创建两个复杂数据结构的差异?

c# - 在 "IsAlive"属性为 false 后,Join 拒绝承认子线程已终止。 C#

windows - 在 SerialCommunication C++ 中使用 Mutex 时出现多线程问题

c++ - 游戏 "Life"中发布版本和调试版本之间的加速比奇怪

java - 为什么链表要有父类

c - 为什么 C 中的 64 位指针只使用 4 个字节而不是预期的 8 个字节?

检查是否在 X Window 中运行

c - ICU u_fgetfile 与 VS2012 发布版本中的运行时不兼容

c - 调试和发布之间的奇怪链接差异导致未解析的 _except_handler3,或者为什么,哦,为什么我不知道 libcmtd?