Consider the following code fragment:
let t1 = async { return process1() } let t2 = async { return process2() } let t3 = async { return windowsProcess() } let execute = [ t1; t2; t3 ] |> Async.Parallel |> Async.RunSynchronously |> ignore
What to do in the case the windowsProcess requires a STATHREAD? Is this possible with this construction?
If there's a particular thread with a SyncrhonizationContext, e.g. the UI thread, then you could do e.g.
but in general parallel tasks will start in the threadpool.