デフォルトで、アプリケーション内の各スレッドは、プロセス ID とスレッド ID から生成されたデフォルトのラベル、または OS スレッド名とともに [タイムライン] トラックに表示されます。コード内でスレッド命名 API を使用して、スレッドに意味のある名前を付けることができます。
スレッド命名 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;
}