JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris Studio 12.2: スレッドアナライザユーザーズガイド
search filter icon
search icon

ドキュメントの情報

はじめに

1.  スレッドアナライザとその機能について

1.1 スレッドアナライザの開始

1.2 データの競合とは

1.3 デッドロックとは

1.4 スレッドアナライザ使用モデル

1.4.1 データの競合を検出するための使用モデル

1.4.1.1 データの競合を検出するコードを計測する

ソースレベルの計測

バイナリレベルの計測

1.4.1.2 計測済みアプリケーションで実験を作成する

1.4.1.3 データの競合についての実験結果を検討する

1.4.2 デッドロックを検出するための使用モデル

1.4.2.1 デッドロックを検出するための実験を作成する

1.4.2.2 デッドロックの実験結果を検討する

1.4.3 データの競合およびデッドロックを検出するための使用モデル

1.5 スレッドアナライザのインタフェース

2.  データの競合チュートリアル

3.  デッドロックのチュートリアル

A.  スレッドアナライザで認識される API

B.  役に立つヒント

1.2 データの競合とは

スレッドアナライザは、マルチスレッドプロセスの実行中に生じたデータの競合を検出します。データの競合は、次のすべての条件に当てはまるときに生じます。

この3つの条件が揃うとアクセス順序が定まらないため、実行するたびにその時の順序によって計算結果が異なる可能性があります。データの競合には、害のないもの (メモリーアクセスをビジーウェイトに使用するときなど) もありますが、データの競合の多くはプログラムのバグによるものです。

スレッドアナライザは、POSIX スレッド API、Solaris スレッド API、OpenMP、またはこれらの組み合わせを使用して作成されたマルチスレッドプログラムで動作します。