【发布时间】:2017-01-02 01:05:36
【问题描述】:
我想创建一个保持循环的新线程。像这样的:
void Clock() {
double Time = 0;
while (1) {
usleep(1000);
Time = (Time+0.1);
}
return;
}
然后我希望我的其他现有线程能够访问最新的时钟值并使用它。如何声明“时间”变量以便所有线程都可以访问它,以及如何更改上面的代码以适应它?还有我需要做什么才能访问它?
【问题讨论】:
-
将其设为全局变量?
-
@JoachimPileborg 我有许多不同的源文件,我可以在头文件中声明一个全局变量以确保它能够在我的所有源文件中使用吗?还是有不同的解决方案
-
你意识到时间会流逝吗?
-
只需使用 POSIX 计时器。
-
@EOF:太好了。只要以某种方式阻止了比赛条件。是的,这不是一个应该重新发明的轮子。
标签: c multithreading pthreads