gpt4 book ai didi

c++ - 如何使任何 C++ 库成为线程安全的?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:41:23 28 4
gpt4 key购买 nike

首先,我对 C++ 相当有经验,并且了解线程和线程同步的基础知识。我还想编写一个自定义内存分配器作为我的宠物项目,并且已经读到它们应该是线程安全的。

我理解术语“线程安全”的含义,但我不知道如何使 C++ 代码线程安全。

是否有关于如何使代码线程安全的任何实用示例或教程?

在内存分配器场景中,它是否本质上确保所有变异函数都被标记为临界区?或者还有其他原因?

最佳答案

与所有线程问题相同:确保当一个线程正在更改某些内容时,没有其他线程正在访问它。对于内存分配系统,我想您需要一种方法来确保您不会同时将同一 block 内存分配给 2 个线程。无论是通过包装整个搜索,还是通过允许多次搜索但在更新分配表时锁定(这可能导致搜索结果无效,需要进行另一次搜索)都取决于您。

关于c++ - 如何使任何 C++ 库成为线程安全的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7541810/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com