https://github.com/google/sanitizers/wiki
https://github.com/google/sanitizers/wiki/ThreadSanitizerCppManual
Introduction
ThreadSanitizer
(aka TSan) is a data race detector for C/C++. Data races are one of the most common and hardest to debug types of bugs in concurrent systems. A data race occurs when two threads access the same variable concurrently and at least one of the accesses is write. C++11standard officially bans data races as undefined behavior.