如何制作任何C++库我都能使线程安全?

Ray*_*Dey 5 c++ memory-management thread-safety

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

我理解术语"线程安全"的意思,但我不知道如何使C++代码线程安全.

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

在内存分配器场景中,它是否基本上确保所有变异函数都被标记为关键部分?或者还有更多的东西吗?

Ayj*_*jay 3

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