スレッド命名 API

デフォルトで、アプリケーションの各スレッドは、[タイムライン] トラックに表示され、プロセス ID、スレッド ID または OS スレッド名がラベルとして示されます。コード内でスレッド命名 API を使用して、分かりやすいスレッド名を設定できます。

スレッド命名 API は、すべての状態 (ポーズや再開) で動作するスレッド単位の関数です。

char または Unicode* 文字列でスレッド名を設定するには、プリミティブを使用します。

void __itt_thread_set_name (const __itt_char *name)

プリミティブのパラメーター:

[in]

name

スレッド名

解析からこのスレッドを除外することを指示します。

void __itt_thread_ignore (void)

これはアプリケーションの並行性には影響しません。[タイムライン] ペインには表示されません。

スレッド名が複数回設定された場合、最後に指定された名前が適用されます。

使用例

次に示すスレッド命名の例により、注目するスレッドに分かりやすい名前を付けて、サービススレッドを無視することができます。


    DWORD WINAPI service_thread(LPVOID lpArg) {
       __itt_thread_ignore();
       // サービスワークをここに記述。このスレッドは表示されません。
       return 0;
    }

    DWORD WINAPI thread_function(LPVOID lpArg) {
       __itt_thread_set_name("My worker thread");
       // スレッドのワークをここに記述。
       return 0;
    }

    int main(int argc, char* argv[]) {
       ...
       CreateThread(NULL, 0, service_thread, NULL, 0, NULL);
       CreateThread(NULL, 0, thread_function, NULL, 0, NULL);
       ...
       return 0;
    }

関連情報