Я написал следующий фрагмент кода для небольшого теста,
i=1;
static void *f1(void *p)
{
if(cpu_usage()>50)
{
//this sleep is not working and thread is not entering this condition eventhough the cpu_usage() returns more than 50
sleep(5);
}
while (i==0) {
//i=0;
//cout<<"inside"<<endl;
}
i=0;
//do work
i=1;
printf("i's value has changed to %d.\n", i);
return NULL;
}
и назначил функцию с объектом потока,
int rc = pthread_create(&pthread1, NULL, f1, NULL);
Я хочу заблокировать текущий поток,это означает приостановить его исполнение.но мне кажется, что сон не работает.даже функция cpu_usage () не вызывается.но мне кажется, что сон в f1 не работает.ребята, скажите, в чем причина?