[DllImport("winmm.dll")]
internal static extern uint timeBeginPeriod(uint period);
[DllImport("winmm.dll")]
internal static extern uint timeEndPeriod(uint period);
{
Thread.Sleep(1); // wait's roughtly 15ms on my system
Thread.Sleep(2); // wait's roughtly 15ms on my system
Thread.Sleep(3); // wait's roughtly 15ms on my system
timeBeginPeriod(1);
Thread.Sleep(1); // wait's just over 1 ms on my system
Thread.Sleep(2); // wait's just over 2 ms on my system
Thread.Sleep(3); // wait's just over 3 ms on my system
timeEndPeriod(1);
Thread.Sleep(1); // wait's roughtly 15ms on my system
Thread.Sleep(2); // wait's roughtly 15ms on my system
Thread.Sleep(3); // wait's roughtly 15ms on my system
}
本文演示了如何使用 C# 通过调用 winmm.dll 中的 timeBeginPeriod 和 timeEndPeriod 函数来改变系统的时钟更新频率,从而实现对线程睡眠时间更精确的控制。
945

被折叠的 条评论
为什么被折叠?



