栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

任务与线程的差异[重复]

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

任务与线程的差异[重复]

Thread
是一个较低层的概念:如果您直接启动线程,则 知道 它将是一个单独的线程,而不是在线程池等上执行。

Task
但是,它不仅仅是对“在哪里运行某些代码”的抽象-实际上,它只是“对未来结果的承诺”。因此,作为一些不同的示例:

  • Task.Delay
    不需要任何实际的CPU时间;就像将计时器设置为将来关闭
  • 返回的任务
    WebClient.DownloadStringTaskAsync
    在本地不会占用太多CPU时间;它代表的结果可能是将其大部分时间花费在网络延迟或远程工作(在Web服务器上)上
  • Task.Run()
    真正返回的任务 说“我希望您分别执行此代码”;该代码执行的确切线程取决于许多因素。

请注意,

Task<T>
抽象对于C#5中的异步支持至关重要。

通常,我建议您尽可能使用更高级别的抽象:在现代C#代码中,您几乎不需要显式启动自己的线程。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/421537.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号