标签: c++ multithreading
在开发类时是否应该添加线程安全机制,并且已知此类将在多线程环境中使用(但并非始终如此)或将其保留给用户?
答案 0 :(得分:2)
作为一般规则,将其留给用户更灵活。例如,考虑一个map-type容器。假设应用程序需要以原子方式将某些内容从一个地图移动到另一个地图。在这种情况下,用户需要在插入 - 擦除序列之前锁定两个映射。
这样的场景会被你的课程以某种方式自动处理,这可能是不优雅的,因为它自然是跨物体发生的事情,并且因为可能有很多这样的场景,每个都略有不同。