在c#中 长时间任务选择Thread还是Task

weixin_38067646 2019-07-22 03:49:23
有多个长时间的任务,任务数量固定,其生命周期跟随程序,任务的具体内容大概是while循环中处理各种业务,请问选用Thread还是Task比较好,单核和多核对其性能有影响嘛?
...全文
867 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38107144 2019-08-06
  • 打赏
  • 举报
回复
Task 线程池 Thread 线程 Task线程池能重复利用线程,减少内存开销
weixin_38088844 2019-07-25
  • 打赏
  • 举报
回复
Task 和 Thread 原则上都是 可以实现新建一个线程或者从线程池获取线程来执行,没有哪个更好的说。 不过更建议Task,因为它属于比较新的sdk,提供了更多的选项支持 例: Task.Factory.StartNew 方法 有个枚举参数 TaskCreationOptions,可以设置 TaskCreationOptions.LongRunning
萌虎生威 2022-03-31
  • 举报
回复
@weixin_38088844 如果设置了t1为longrunning的任务, 后面图t2=t1.continueWith(...),怎么设置这个t2也是longrunning呢,也就是不从线程池取线程
weixin_38074625 2019-07-22
  • 打赏
  • 举报
回复
根据场景和需要来,确定的独占的可以选择Thread 和Task,可变的不确定的任务池选择Task或者ThreadPool。 从写法上说,Task最简单方便,Task是对线程的进一步封装,本质上都是线程。
weixin_38088281 2019-07-22
  • 打赏
  • 举报
回复
Task,一般项目中的任务都用Task,统一管理
weixin_38081987 2019-07-22
  • 打赏
  • 举报
回复
推荐用Task,Task其实是对Thread还有线程池的进一步封装。用Task不容易出错,而且编码很方便

476

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧