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++ ではGetTickCountまたはGetSystemTimeAsFileTime API を使用して経過時間を測定していましたが、C# では何を使用すればよいでしょうか?

4

1 に答える 1

4

で最も正確なタイミング クラスであるStopWatchを使用することを考えるかもしれません。CLRこれは通常、コード実行の測定で使用されます。

しかし、次のような他のタイミング オプションもあります。System.Timers.Timerクラスも使用できます。

@Matthew Watson が述べたように、別のオプションが再びあります: Environment.TickCountを使用します。

于 2013-04-23T10:50:04.297 に答える