* 현재 나온 ACE 서적과 tip에 없는 거 같아 정리해둡니다. 조금 주의할 사항들이 있어서...
- 시작시 반드시 start() 메소드를 실행해주어야합니다. ACE_High_Res_Timer 객체를 만들고 경과된 시간을 elapsed_time() 메소드를 사용하여 꺼낼때는 반드시 stop()메소드를 실행해주어야합니다. 즉, 다음과 같이 하여야합니다.
ACE_High_Res_Timer t_; t_.start(); ... { t_.stop(); ACE_Time_Value to; t_.elapsed_time(to); cout << to.msec() << endl; } // 시간을 재설정합니다. 스톱워치를 다시 0으로 돌리고 시작한다고 생각하면 됩니다. t_.reset(); t_.start(); ... { t_.stop(); ACE_Time_Value to; t_.elapsed_time(to); cout << to.msec() << endl; }여기서 경과시간을 재기위해 stop()메소드를 실행하지 않으면 엉뚱한 값이 나옵니다. 밀리초단위로 꺼내기위해 ACE_Time_Value::msec() 메소드를 사용했습니다. 초로 뽑으려면 ACE_Time_Value::sec()를 사용하면 됩니다. - 보통 독립된 경과시간을 잴 때에는 start()->stop()을 사용하며 elapsed_time()메소드로 경과시간을 꺼내면되지만, 누적된 경과시간을 잴 경우가 있습니다. (예:자동차 여러대가 경주할 경우 각각의 lap 시간재기) 이럴때에는 start_incr()->stop_incr()메소드를 사용해야하며 elapsed_time_incr()메소드를 사용하여 시간을 재야합니다.









![[http]](/wiki/imgs/http.png)
