kernel32.dll Sleep和Thread.Sleep()之间的任何区别
以下内容之间是否存在任何差异(性能,实施……无论如何):
一世)
DllImport("kernel32.dll")] public extern static void Sleep(uint msec);
..然后调用睡眠function
II)
Thread.Sleep()
实际上,这有很大的不同。
这篇博客文章解释了为什么托管线程永远不应该进行非托管阻塞。 官方MSDN文档具有相同的准则,没有所有底层细节。
PS Thread.Sleep
是一个设计不佳的程序的标志 。
我不这么认为。 它们都只在当前线程上工作。
但是,在主线程中使用Sleepfunction时要小心,因为依赖于同步时序的程序通常会在外部配置发生变化时导致问题。
但是,在支持或侦听线程中使用Sleep通常不是问题。