Ist Thread Sanitizer verwendbar?

Ich dachte daran, Thread Sanitizer auszuprobieren (http://code.google.com/p/data-race-test/wiki/ThreadSanitizer#Using_ThreadSanitizer ) Also habe ich ein einfaches Programm gemacht:

<code>#include <thread>
#include <atomic>
#include <vector>
#include <iostream>
#include <algorithm>
#include <mutex>
using namespace std;
int violated=0;
mutex mtx;
void violator()
{
    lock_guard<mutex> lg(mtx);
    violated++;
}
int main()
{
    thread t1(violator);
    t1.join();
    thread t2(violator);
    t2.join();
}
</code>

Das AFAIK-Programm ist in Ordnung, da der Zugriff auf das verletzte Programm mit dem Mutex synchronisiert wird (und wie Kommentare sagen, ist auch ohne dieses Programm kein Rennen möglich). Aber Tsan beschwert sich und gibt eine Reihe von Warnungen:http://www.filedropper.com/output Benutze ich das Tool also falsch oder ist es nicht wirklich gut? Wenn es wichtig ist, verwende ich VS11 Beta.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage