gpt4 book ai didi

c# - Task.Run 和 System.Threading.ThreadPool.RunAsync 之间有什么区别?

转载 作者:太空宇宙 更新时间:2023-11-03 11:58:01 25 4
gpt4 key购买 nike

它们对线程的影响有什么区别?Task.Run 似乎仍在当前线程的同一任务管理器上运行,而 ThreadPool.RunAsync 似乎与当前线程的相关性较低。

我注意到 Task.Run 很容易自动捕获它之外的参数。比如如果Task.Run在它外面调用一个字符串对象,Task.Run可以自动捕获它。

最佳答案

一般来说,Task 是对线程的抽象。任务的主要好处是它们可以让你更少地关注多线程的低级方面,并简化诸如延续之类的事情。它们也很好地集成到 C# 中,并且是现代异步编程的基础。 UWP API 非常依赖 async/await,因此非常鼓励使用 Tasks(尽管 UWP API 本身使用 IAsyncOperation 作为其许多方法的 Task-like 类型,它与 Windows 运行时兼容并且可以在 WinRT 库中公开)。

任务的实现在后台使用线程池,所以一般来说,除非您需要低级控制,否则 Tasks 应该更容易使用。

关于c# - Task.Run 和 System.Threading.ThreadPool.RunAsync 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58677373/

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