为什么要放弃使用Thread.Sleep

 我来答
雨过天晴日丶
2018-07-29 · TA获得超过2636个赞
知道大有可为答主
回答量:1879
采纳率:91%
帮助的人:1668万
展开全部
.Net并没有放弃Thtead.Sleep,它的作用是挂起当进程指定的时间。而Thread.Suspend被标识为过时,即放弃了Thread.Suspend,放弃的原因是因为该挂起不能达到安全代码处挂起,可能导致无法唤醒,所以放弃了Suspend,而继承保留Thread.Sleep。在目前.46的版本中仍然没有标识为放弃,难道你用的是VS 2015?在5.0版本中标识过时了么?

但由于多线程的引入,多数时间在多线程中会用到线程模式,但多线程中使用线程模式,那只是WaitHandle类的waitOne方法或WaitAll或WaitAny等方法。以及AutoResetEvent等多线程类库的一些实现。尽管如此,只是要求在多线程程序中尽量使用类型的模式,并没有明确或暗示放弃Thread.Sleep。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Tech_Monkeye5
2015-09-13 · TA获得超过984个赞
知道小有建树答主
回答量:330
采纳率:92%
帮助的人:80.1万
展开全部
.Net并没有放弃Thtead.Sleep,它的作用是挂起当进程指定的时间。而Thread.Suspend被标识为过时,即放弃了Thread.Suspend,放弃的原因是因为该挂起不能达到安全代码处挂起,可能导致无法唤醒,所以放弃了Suspend,而继承保留Thread.Sleep。在目前.46的版本中仍然没有标识为放弃,难道你用的是VS 2015?在5.0版本中标识过时了么?

但由于多线程的引入,多数时间在多线程中会用到线程模式,但多线程中使用线程模式,那只是WaitHandle类的waitOne方法或WaitAll或WaitAny等方法。以及AutoResetEvent等多线程类库的一些实现。尽管如此,只是要求在多线程程序中尽量使用类型的模式,并没有明确或暗示放弃Thread.Sleep。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式