デフォルトで、アプリケーションの各スレッドは、[タイムライン] トラックに表示され、プロセス 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;
}