gpt4 book ai didi

.net - 的确,对于长时间运行的进程,最好手动执行线程而不是线程池?

转载 作者:行者123 更新时间:2023-12-03 13:55:19 24 4
gpt4 key购买 nike

前几天我读到,对于长时间运行的任务,我最好的选择是手动创建线程,而不是使用.NET的线程池或Task Parallel。当我学习有关C#线程的信息时,特别是针对长时间运行的IO任务,我真的很想启发我。先感谢您。

最佳答案

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

我的经验法则是,如果一个操作可能花费一秒钟以上的时间,则该操作不应在线程池线程上。那可能很长。

尽管未记录,但是如果您使用Task启动TaskCreationOptions.LongRunning,则将启动新的线程来运行任务。

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

与往常一样,我建议阅读Joe Albahari's free ebook
其次是Joe Duffy's Concurrent Programming on Windows。后者长1000页,但充满了有用的详细信息。

关于.net - 的确,对于长时间运行的进程,最好手动执行线程而不是线程池?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10298641/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com