0

我有类似以下代码的东西:

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++ 中,我会使用GetTickCountGetSystemTimeAsFileTime API 来测量经过的时间,但我应该在 C# 中使用什么?

4

1 回答 1

4

您可能会想到使用StopWatch中最精确的计时类CLR,我们通常在代码执行测量中使用它。

但也有其他计时选项,例如:System.Timers.Timer类,也可以使用。

正如@Matthew Watson 所言,还有另一个选择:使用Environment.TickCount

于 2013-04-23T10:50:04.297 回答