加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

.net – 对于长时间运行的进程来说,最好是手动执行线程而不是线

发布时间:2020-12-15 06:20:28 所属栏目:百科 来源:网络整理
导读:我读了另一天,对于长时间运行的任务,我最好的办法是手动创建线程,而不是使用.NET的线程池或任务并行.当我正在学习c#线程,特别是长时间运行的IO任务时,我真的希望有人开启我.先谢谢你. 解决方法 那是真实的.线程池针对小型工作单元进行了优化,您可以通过持有
我读了另一天,对于长时间运行的任务,我最好的办法是手动创建线程,而不是使用.NET的线程池或任务并行.当我正在学习c#线程,特别是长时间运行的IO任务时,我真的希望有人开启我.先谢谢你.

解决方法

那是真实的.线程池针对小型工作单元进行了优化,您可以通过持有线程池线程来干扰其他工作.

我的经验法则是如果一个操作可能需要一秒钟以上,它不应该在一个线程池线程上.那可能很长

虽然这是没有文档的,但如果您使用TaskCreationOptions.LongRunning启动任务,则会启动一个新的线程来运行该任务.

对于大多数IO任务,您应该真正使用的框架方法有异步版本.这些使用内核函数,意味着你不会阻止任何线程.

和往常一样,我建议阅读Joe Albahari’s free ebook,
其次是Joe Duffy’s Concurrent Programming on Windows.后期是1000页长,但充满了有用的细节.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读