__curthread built-in variable

__curthread - это встроенная переменная, с помощью которой пользователь может получить сведения о текущей нити. Доступ к этим сведениям можно получить, применив оператор --> к переменной __curthread. Данную переменную нельзя использовать в тестах systrace, BEGIN и END. Допускается использование этой переменной в тестах с интервалами если указан PID. Данная переменная предоставляет функциональность, схожую с getthrds/getthrds64, но ограниченную текущей нитью. Доступные данные:

tid
ИД нити
threadstate
Состояние нити
pid
ИД процесса
стратегия
Стратегия планирования
4pri
Приоритет
cpuusage
Использование CPU
cpuid
Процессор, на котором выполняется данная нить
sigmask
Сигнал, заблокированный в нити
lockcount
Число блокировок ядра нитью
ptid
Идентификатор pthread для этой нити (0, если нить ядра; 1, если приложение с одной нитью)
homecpu
Домашний CPU нити.
homesrad
Домашний srad нити

Пример использования

К Tid текущей нити можно обратиться с помощью __curthread->tid.