是否有一个等同于TPL Parallel.Invoke的F#?

Stu*_*don 1 f# parallel-extensions task-parallel-library

是否有一个等同于TPL Parallel.Invoke的F#?到目前为止,我所遇到的只是任务工厂,用于显式任务控制,但我在分析它时遇到了问题.

Jac*_* P. 5

这有什么错用Parallel.Invoke F#?F#的最佳功能之一是您可以重用.NET基类库(BCL)中提供的所有功能.

为了简化操作,我可能会创建一个小函数来将F#函数数组映射到一个Action委托数组中,如下所示:

/// Wraps each F# in a System.Action delegate.
let funcsAsActions (funcs : (unit -> unit)[]) : System.Action[] =
    funcs |> Array.map (fun f -> System.Action f)
Run Code Online (Sandbox Code Playgroud)

然后,您可以将返回的数组传递funcsAsActionsParallel.Invoke.

  • `funcs |> Array.Parallel.iter(fun f - > f())`有什么问题?映射到'Action`s'首先让我觉得毫无意义. (3认同)