Я хочу смоделировать систему бронирования в театре, где клиенты общаются с операторами, чтобы забронировать места в C. Я использую библиотеку pthread.Когда поток создается, он пытается получить мьютекс переменной, содержащей число доступных операторов, и проверяет, доступен ли какой-либо оператор (с использованием условной переменной), и если нет, поток переходит в спящий режим.Я хочу знать, сколько времени понадобилось потоку, чтобы соединиться с оператором, т.е. сколько времени потребовалось потоку, чтобы пройти переменную условия.Могу ли я просто использовать таймер в начале потока и сразу после условной переменной, или это не сработает, потому что, когда поток заблокирован, таймер тоже блокируется?Если это так, как правильно это сделать?Спасибо.
void* thread_transaction(void* arg) //the function passed to
pthread_create
{
//instantiating variables and such...
//reserving an operator
pthread_mutex_lock(&tel_mut);
while(threadData->available_tel <= 0)
pthread_cond_wait(&tel_cond, &tel_mut);
//can I put a timer at the start and right here and accurately
//measure the time?