线程安全的定义
Posted 菊次郎的幻想
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线程安全的定义相关的知识,希望对你有一定的参考价值。
1.1.1 线程安全的定义
依据[JCP],一个线程安全的class 应当满足以下三个条件:
多个线程同时访问时,其表现出正确的行为。
无论操作系统如何调度这些线程, 无论这些线程的执行顺序如何交织(interleaving)。
调用端代码无须额外的同步或其他协调动作。
依据这个定义,C++ 标准库里的大多数class 都不是线程安全的,包括std::string、std::vector、std::map 等,因为这些class 通常需要在外部加锁才能供多个线程同时访问。
以上是关于线程安全的定义的主要内容,如果未能解决你的问题,请参考以下文章