我如何使任何c++库都是线程安全的

How do I make any C++ library I make thread safe?

本文关键字:线程 安全 何使任 c++      更新时间:2023-10-16

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

我知道"线程安全"是什么意思,但是我不知道如何使c++代码线程安全。

有关于如何使代码线程安全的实际例子或教程吗?

在内存分配器场景中,它是否本质上确保所有变化的函数都被标记为临界区?还是另有隐情?

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