当currentHour在函数内部发生变化时,我想增加myTime(下面的dt1)变量; 我正在使用RWDatetime。
RWDateTime dt1;
int func()
{
RWDateTime dt(setCurrentTime());
//when dt increment by an hour i have to increment dt1 in below section by an hour
}
//One important note i am in multithreaded environment
Pls建议我通过在全局静态std :: set<>中存储值来实现它的好方法...但我想要一个更好的approch作为其多线程环境,为什么这不正确approch。
答案 0 :(得分:0)
用法:
RWDateTime dt1;
int func()
{
RWDateTime dt(setCurrentTime());
//when dt increment by an hour i have to increment dt1 in below section by an hour
unsigned h = dt.hour();
...
if(h != dt.hour())
dt.incrementHour(1);
}
答案 1 :(得分:0)
使用信号量锁定对dt1的访问。锁定写入,以及使用它的“关键”部分。
...或者......顺便说一句,你不能在你的函数func()的参数中发送那些对各种线程计算有用的数据吗?它似乎是一个更可靠的设计,显然我没有所有的信息能够告诉你的问题。