我想创建一个保持循环的新线程。像这样:
void Clock() {
double Time = 0;
while (1) {
usleep(1000);
Time = (Time+0.1);
}
return;
}
然后我希望我的其他现有线程能够访问最新的时钟值并使用它。如何声明“时间”变量以便所有线程都可以访问它,以及如何更改上面的代码以适应这种情况?还有什么我需要做的才能访问它?
答案 0 :(得分:1)
如果您只想获得当前时间,则无需线程即可。例如,请查看Get the current time in C。
如果您使用某个帖子,请注意线程是独立运行的。有一个简单的例子,请查看Mutex lock threads。您需要使用pthread_create
来创建线程,并使用pthread_mutex
来保护Time
变量。
我建议你先从那开始,然后将原子留到下一次。