我有类似以下代码的内容:
public void acquireReaderLock(int nmsMaxWait)
{
//'nmsMaxWait' = timeout in milliseconds
if(_mutex.WaitOne(nmsMaxWait))
{
//Need time left for the second wait?
if(_semaphore.WaitOne(???)
{
}
else
throw new Exception("Timed out");
}
else
throw new Exception("Timed out");
}
我正在寻找一种高精度计时器。在C ++中,我会使用GetTickCount或GetSystemTimeAsFileTime API来衡量经过的时间,但我应该在C#中使用什么?
答案 0 :(得分:4)
您可能会考虑在CLR
中使用StopWatch最精确的计时类,我们通常在代码执行测量中使用它。
但是还有其他时序选项,例如:System.Timers.Timer类,也可以使用。
正如@Matthew Watson提到的那样,还有另一种选择:使用Environment.TickCount。