首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否存在使用普通的旧Thread对象而不是较新的构造的情况?

是否存在使用普通的旧Thread对象而不是较新的构造的情况?
EN

Stack Overflow用户
提问于 2012-03-28 01:46:37
回答 10查看 4.1K关注 0票数 112

我在博客文章和这里看到很多人,所以在最近的C#版本中,要么避免使用Thread类,要么建议不要使用它(当然,我指的是4.0+,增加了Task & friends)。甚至在此之前,关于普通老线程的功能在许多情况下都可以由ThreadPool类替换这一事实一直存在争议。

此外,其他专门的机制进一步降低了Thread类的吸引力,例如Timer取代了丑陋的Thread + Sleep组合,而对于GUI,我们使用了BackgroundWorker,等等。

尽管如此,对于一些人(包括我自己)来说,Thread似乎仍然是一个非常熟悉的概念,当遇到涉及某种并行执行的任务时,他们会直接使用很好的老Thread类。我最近一直在想是不是该改正我的生活方式了。

所以我的问题是,有没有必要或有用的情况下,使用普通的旧Thread对象而不是上面的结构之一?

EN

Stack Overflow用户

发布于 2012-03-28 04:34:14

Thread类并没有过时,它在特殊情况下仍然很有用。

在我工作的地方,我们编写了一个“后台处理器”,作为内容管理系统的一部分:一个Windows服务,它监控目录、电子邮件地址和RSS提要,每当有新的东西出现时,就在它上面执行一个任务--通常是导入数据。

尝试使用线程池并不管用:它试图同时执行太多的东西,并回收磁盘,所以我们直接使用Thread类实现了我们自己的轮询和执行系统。

票数 9
EN
查看全部 10 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9894821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档