当前小时改变其值时,递增函数内的小时值

时间:2011-09-19 22:55:15

标签: c++

当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。

2 个答案:

答案 0 :(得分:0)

RWDateTime::incrementHour

用法:

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()的参数中发送那些对各种线程计算有用的数据吗?它似乎是一个更可靠的设计,显然我没有所有的信息能够告诉你的问题。