Sun Studio 12: スレッドアナライザユーザーズガイド

1.2 データの競合とは

スレッドアナライザは、マルチスレッドプロセスの実行中に発生するデータの競合を検出します。データの競合は次の場合に発生します。

これら 3 つの条件が成立すると、アクセス順序が非決定的となり、アクセス順序により、実行のたびに演算結果が異なることがあります。害のない良性データ競合もありますが (たとえば、ビジー待ちのメモリーアクセスなど)、多くのデータ競合はプログラムのバグです。

スレッドアナライザは、POSIX スレッド API、Solaris スレッド API、OpenMP、Sun 並列指令、Cray 並列指令、あるいはそれらの組み合わせを使用して記述されたマルチスレッドプログラムに有効です。