类应该是线程安全的吗

Should a class be thread-safe?

本文关键字:安全 线程      更新时间:2023-10-16

当开发一个类并且已知该类将在多线程环境中使用(但并不总是如此(时,是否应该添加线程安全机制,或者将其留给用户?

作为一般规则,将其留给用户更为灵活。例如,考虑一个映射类型的容器。假设应用程序需要将某些内容从一个映射原子式地移动到另一个映射。在这种情况下,用户需要在插入-擦除序列之前锁定两个映射。

让这样的场景以某种方式由您的类自动处理可能是不雅的,因为它自然是跨对象发生的事情,而且可能有很多这样的场景,每个场景都略有不同。