.NET 4 引入了全新的线程池设计,可由任务并行库访问。但是,如果我有使用 Delegate.BeginInvoke 的旧代码,这些代码会由那个新线程池执行吗?或者旧的线程池是否仍在运行时的某个地方?
最佳答案
它们都使用相同的线程池。 ThreadPool.QueueUserWorkItem
也是如此。
但是,与 Task.Factory.StartNew 相比,Delegate.BeginInvoke
有额外的开销,并且没有利用 ThreadPool 中的许多功能,例如工作窃取或新的调试功能.如果时间允许,我建议重构它以使用新的任务功能。
关于c# - 在 .NET 4 中,BeginInvoke 和 Task 是否使用相同的线程池?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5264836/