以下内容之间是否有任何差异(性能、实现……等等):
我)
DllImport("kernel32.dll")] public extern static void Sleep(uint msec);
..然后调用Sleep函数
ii)
Thread.Sleep()
其实差别很大。
这篇博文解释了为什么托管线程永远不应该执行非托管阻塞(如果可能的话)。 官方 MSDN 文档具有相同的指南,但没有所有底层细节。
附注
Thread.Sleep
我不这么认为。 它们都只在当前线程上工作。
在主线程中使用 Sleep 函数时要小心,因为依赖同步时序的程序通常会在外部配置更改时导致问题。
在支持或监听线程中使用睡眠通常不是问题。