Способ программного обеспечения времени процессора для потока, в C, это работает как на opensolaris, так и на Linux

StackOverflow https://stackoverflow.com/questions/2610484

  •  25-09-2019
  •  | 
  •  

Вопрос

У меня есть небольшой демон, который я пишу в C, и мне нужен способ получить текущее время процессора в потоке. Linux, по-видимому, поставляет несколько способов выполнить это, Clock_gettime (Clock_Thread_cputime_id, ...), pthread_getcpuclocklockid (), GetRUSAGE (Rusage_Thread, ...) Но ни один из них, кажется, не поддерживается под Opensolaris 2009.06.

Есть ли кроссплатформенный дружеский способ получить текущее время процессора для потока? Если нет, есть ли способ сделать это в opensolaris вообще? На данный момент я даже готов поставить в кучу уродливых директив компилятора, чтобы сделать эту работу.

Это было полезно?

Решение

Согласно с «Приоритет потока на платформе Solaris», Solaris 9 и выше по умолчанию до однозначного соответствия между потоками и LWP (Легкие процессы). Поэтому, согласно Манштам GetRusage., вы должны быть в состоянии позвонить getrusage(RUSAGE_LWP, ...).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top