为什么要放弃使用Thread.Sleep
展开全部
.Net并没有放弃Thtead.Sleep,它的作用是挂起当进程指定的时间。而Thread.Suspend被标识为过时,即放弃了Thread.Suspend,放弃的原因是因为该挂起不能达到安全代码处挂起,可能导致无法唤醒,所以放弃了Suspend,而继承保留Thread.Sleep。在目前.46的版本中仍然没有标识为放弃,难道你用的是VS 2015?在5.0版本中标识过时了么?
但由于多线程的引入,多数时间在多线程中会用到线程模式,但多线程中使用线程模式,那只是WaitHandle类的waitOne方法或WaitAll或WaitAny等方法。以及AutoResetEvent等多线程类库的一些实现。尽管如此,只是要求在多线程程序中尽量使用类型的模式,并没有明确或暗示放弃Thread.Sleep。
但由于多线程的引入,多数时间在多线程中会用到线程模式,但多线程中使用线程模式,那只是WaitHandle类的waitOne方法或WaitAll或WaitAny等方法。以及AutoResetEvent等多线程类库的一些实现。尽管如此,只是要求在多线程程序中尽量使用类型的模式,并没有明确或暗示放弃Thread.Sleep。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
.Net并没有放弃Thtead.Sleep,它的作用是挂起当进程指定的时间。而Thread.Suspend被标识为过时,即放弃了Thread.Suspend,放弃的原因是因为该挂起不能达到安全代码处挂起,可能导致无法唤醒,所以放弃了Suspend,而继承保留Thread.Sleep。在目前.46的版本中仍然没有标识为放弃,难道你用的是VS 2015?在5.0版本中标识过时了么?
但由于多线程的引入,多数时间在多线程中会用到线程模式,但多线程中使用线程模式,那只是WaitHandle类的waitOne方法或WaitAll或WaitAny等方法。以及AutoResetEvent等多线程类库的一些实现。尽管如此,只是要求在多线程程序中尽量使用类型的模式,并没有明确或暗示放弃Thread.Sleep。
但由于多线程的引入,多数时间在多线程中会用到线程模式,但多线程中使用线程模式,那只是WaitHandle类的waitOne方法或WaitAll或WaitAny等方法。以及AutoResetEvent等多线程类库的一些实现。尽管如此,只是要求在多线程程序中尽量使用类型的模式,并没有明确或暗示放弃Thread.Sleep。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询