gpt4 book ai didi

c# - Task.Factory.StartNew() 是否保证至少创建一个新线程?

转载 作者:太空宇宙 更新时间:2023-11-03 17:13:45 24 4
gpt4 key购买 nike

我知道 TPL 不一定为并行集中的每个任务创建一个新线程,但它总是至少创建一个线程吗?例如:

private void MyFunc()
{
Task.Factory.StartNew(() =>
{
//do something that takes a while
});

DoSomethingTimely(); //is this line guaranteed to be hit immediately?
}

编辑:澄清一下:是的,我的意思是保证执行 MyFunc() 的线程不会用于执行 //do需要一段时间的事情

最佳答案

这取决于当前的默认值 TaskScheduler是。您几乎可以想象有人在做一些可怕的事情,比如实现一个 SynchronousTaskScheduler,它在 QueueTask 期间执行任务主体,并在返回之前将其设置为完成。

假设您没有让其他人弄乱您的任务调度程序,您就不必担心。

关于c# - Task.Factory.StartNew() 是否保证至少创建一个新线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9410930/

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