.net TPL数据流块中的异步/同步工作进程委托。哪个更好?

.net TPL数据流块中的异步/同步工作进程委托。哪个更好?,.net,delegates,task-parallel-library,block,dataflow,.net,Delegates,Task Parallel Library,Block,Dataflow,以下各项之间是否存在任何差异: Dim Block As New TransformBlock(Of Integer, Integer)(Function(_i) //sync proccessing Return j

以下各项之间是否存在任何差异:

Dim Block As New TransformBlock(Of Integer, Integer)(Function(_i)
                                                     //sync proccessing
                                                       Return j
                                                     End Function)

即使我使用同步委托,设置块的MaxDegreeOfParallellerism也会影响其性能。所以,正如我所理解的,block从它的sync委托生成一个任务(T),并处理它的实例


以下哪种变体更适合使用?

当您有自然异步工作要做(例如,I/O绑定)时,请使用异步委托

当您有自然同步工作要做时(例如CPU受限),请使用同步委托


两者都不是“更好”;这取决于您需要做什么工作。

由于委托正在新的工作线程上运行,我想知道异步委托或同步委托是否会在性能上有太大的差异


例如,同步代理正在读取一个大文件,由于它在工作线程上运行,因此它也不会阻止主线程。

这看起来更像是一个注释,而不是一个答案,因为您不确定它是否有效。
   Dim Block As New TransformBlock(Of Integer, Integer)(Async Function(_i)
                                                       Return Await something
                                                     End Function)