伪代码:
flag = FALSE;
func1()
sleep(30);
flag = TRUE;
...
func2()
if (FALSE == flag)
{ printf("Wait for %d seconds", xyz);
return;
}
...
一个线程执行func1(),另一个线程运行func2()。 我想知道等待睡眠的确切时间,可以通过func2向用户显示。有没有办法,给定线程id来获取线程的运行时间?
目前,做这样的事情:
flag = FALSE;
time_t start;
func1()
time(&start);
sleep(30);
flag = TRUE;
...
func2()
time_t now;
if (FALSE == flag)
{ time(&now);
printf("Wait for %d seconds", (int)(30-(now-start)));
return;
}
...
上述内容是否合理?
感谢您的意见/建议。