class CTimeTickCount { public: CTimeTickCount(int threadIndex, int id ) { struct timezone tz; gettimeofday(&m_tvStartTime, &tz); // m_tmStartTime = ACE_OS::gettimeofday(); m_iThreadIndex = threadIndex; m_iID = id; } ~CTimeTickCount() { struct timezone tz; struct timeval tv; gettimeofday(&tv, &tz); // ACE_Time_Value currTime = ACE_OS::gettimeofday(); long cost = (tv.tv_sec - m_tvStartTime.tv_sec) * 1000 * 1000; cost += (tv.tv_usec - m_tvStartTime.tv_usec ); if(cost >= 100 * 1000 ) { //NVS_DEBUG((NVS_LM_ERROR, "====thread no: %d, cost time: %dms, id: %d.", // m_iThreadIndex, cost, m_iID)); printf( "====thread no: %d, cost time: %dms, id: %d./n", m_iThreadIndex, cost, m_iID)); } } private: struct timeval m_tvStartTime; // ACE_Time_Value m_tmStartTime; // 开始时间 int m_iThreadIndex; // 线程号 int m_iID; // 标示 };