__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.