首页 » .Net, C# » 阅读文章

System.Threading.Thread.Sleep(0)的意义

2009年12月26日

毫无疑问,大家都明白 System.Threading.Thread.Sleep 的意思,就是让线程挂起,括号里面的参数是挂起的时间。

这么说起来,那么 System.Threading.Thread.Sleep(0) 不是没有意义了吗?

其实不然! 学过操作系统课程的朋友,应该都比较熟悉 “死锁”的概念。“死锁”产生的四个必要条件: 互斥、请求和保持、循环等待、不剥夺。

这时候, System.Threading.Thread.Sleep(0)的意义就出现了。虽然 System.Threading.Thread.Sleep(0) 从字面意思是挂起0毫秒,好像是没有挂起,但是,挂起的动作确实是执行的。 执行挂起后,立刻又转为非挂起了。就是这个过程中,死锁的条件被破坏了,从而避免了死锁的发生。


和别人一起分享吧:
  • Google Bookmarks
  • QQ书签
  • 饭否
  • 校内网
  • 豆瓣九点
  • 嘀咕
  • 365Key网摘
  • POCO网摘
  • 豆瓣
  • 开心网
  • 新浪ViVi
  • 百度搜藏
  • email
  • Add to favorites
  • Facebook
  • Live
  • 收客
  • Twitter
  • del.icio.us
  • PDF
  • Yigg
  • Print
  • Digg
  • Haohao
  • RSS
  • Yahoo! Bookmarks

本文作者:三角猫 DeltaCat
文章出处:真有意思网(http://www.zu14.cn)
引用地址:点击复制本文的 Trackback Url
文章链接:http://www.zu14.cn/2009/12/26/system-threading-thread-sleep-0/ [复制] (转载请注明出处及链接)

.Net, C# , , ,

上一篇 »:

下一篇 »:
  1. 2010年01月01日 10:20 | #1

    学习之用.网络传真

  2. 2009年12月30日 20:58 | #2

    @wefgod :
    呵呵,这就是表象。

  3. wefgod
    2009年12月30日 17:55 | #3

    这个···居然可以避免死锁、?

  1. 目前还没有任何 trackbacks 和 pingbacks.

 

Related Posts with Thumbnails