如何制作任何C++;我能保证线程安全吗? 首先,我对C++有相当的经验,并且理解线程和线程同步的基本知识。我还想写一个自定义内存分配器作为我的一个宠物项目,并且读到它们应该是线程安全的 我理解“线程安全”这个词的意思,但是我不知道如何使C++代码线程安全。

如何制作任何C++;我能保证线程安全吗? 首先,我对C++有相当的经验,并且理解线程和线程同步的基本知识。我还想写一个自定义内存分配器作为我的一个宠物项目,并且读到它们应该是线程安全的 我理解“线程安全”这个词的意思,但是我不知道如何使C++代码线程安全。,c++,memory-management,thread-safety,C++,Memory Management,Thread Safety,有没有关于如何使代码线程安全的实用示例或教程 在内存分配器场景中,是否本质上确保所有变异函数都标记为关键部分?或者还有其他问题吗?与所有线程问题一样:确保当一个线程正在更改某个内容时,没有其他线程正在访问它。对于内存分配系统,我认为您需要一种方法来确保不会同时将相同的内存块分配给两个线程。无论是通过包装整个搜索,还是允许多个搜索,但当分配表被更新时锁定(这可能导致搜索结果失效,需要另一个搜索)将由你来决定。< /P>“我如何使任何C++库使线程安全?”是一个巨大的问题。没有一种最好的方法适用于所

有没有关于如何使代码线程安全的实用示例或教程


在内存分配器场景中,是否本质上确保所有变异函数都标记为关键部分?或者还有其他问题吗?

与所有线程问题一样:确保当一个线程正在更改某个内容时,没有其他线程正在访问它。对于内存分配系统,我认为您需要一种方法来确保不会同时将相同的内存块分配给两个线程。无论是通过包装整个搜索,还是允许多个搜索,但当分配表被更新时锁定(这可能导致搜索结果失效,需要另一个搜索)将由你来决定。< /P>“我如何使任何C++库使线程安全?”是一个巨大的问题。没有一种最好的方法适用于所有情况。从线程安全开始,分配器可能不是一个好地方。制作一个线程安全的高效分配器可能非常困难。我认为您需要先执行一些基本的多线程程序,才能了解挑战所在。@cHao我可以想象情况是这样的,我知道(以及其他StackExchange站点)在涉及广泛问题时是如何做到的。老实说,我希望得到一些有用的提示和建议,因为我知道我可能不会得到一个具体的答案,但我确实希望这是可以的,因为我认为这将有助于任何其他有同样想法的人。@SoapBox感谢您的输入。请原谅我的幼稚,但我曾在一些基本的多线程应用程序上工作过,并目睹了多线程程序的基本挑战,例如死锁、竞争条件、同步问题等,但这些都是非常小的大学教程的一部分。此外,在工作中,我与我们部门的其他团队已使线程安全的库一起工作,现在我希望创建一些更大的库(并非不可能),以便获得更多的线程安全经验。