kernel32.dll Sleep 和 Thread.Sleep() 之间有什么区别

2024-01-12

以下内容之间是否有任何区别(性能、实现等):

i)

DllImport("kernel32.dll")]
        public extern static void Sleep(uint msec);

..然后调用睡眠函数

ii)

Thread.Sleep()

实际上有很大的区别。

这篇博文 http://blogs.msdn.com/b/cbrumme/archive/2003/04/17/51361.aspx解释了为什么托管线程永远不应该执行非托管阻塞(如果可能的话)。这MSDN 官方文档 http://msdn.microsoft.com/en-us/library/74169f59.aspx具有相同的指导方针,但没有所有基本细节。

P.S. Thread.Sleep是程序设计不当的标志 http://msmvps.com/blogs/peterritchie/archive/2007/04/26/thread-sleep-is-a-sign-of-a-poorly-designed-program.aspx.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

kernel32.dll Sleep 和 Thread.Sleep() 之间有什么区别 的相关文章

随机推荐