Multithreading 为什么在使用Async.Parallel时我只有一个线程id?

Multithreading 为什么在使用Async.Parallel时我只有一个线程id?,multithreading,asynchronous,f#,Multithreading,Asynchronous,F#,为什么在使用Async.Parallel时我只有一个处理器id 代码: 输出: 您正在从主线程执行printfn,在异步工作流之外。试试这个: [for i in 1..10 -> async {return sprintf "Processor Id: %d Value: %d" Thread.CurrentThread.ManagedThreadId i}] |> Async.Parallel |> Async.RunSynchronously “托管线程Id

为什么在使用Async.Parallel时我只有一个处理器id

代码:

输出:


您正在从主线程执行
printfn
,在异步工作流之外。试试这个:

[for i in 1..10 -> 
    async {return sprintf "Processor Id: %d Value: %d" Thread.CurrentThread.ManagedThreadId i}] 
|> Async.Parallel
|> Async.RunSynchronously

“托管线程Id”不是“处理器Id”。我的问题简短而简单。为什么扣分?@FyodorSoikin他没有测量处理器ID。字符串命名错误。
Processor Id: 1 Value: 1
Processor Id: 1 Value: 2
Processor Id: 1 Value: 3
Processor Id: 1 Value: 4
Processor Id: 1 Value: 5
Processor Id: 1 Value: 6
Processor Id: 1 Value: 7
Processor Id: 1 Value: 8
Processor Id: 1 Value: 9
Processor Id: 1 Value: 10
val it : unit = ()

> 
[for i in 1..10 -> 
    async {return sprintf "Processor Id: %d Value: %d" Thread.CurrentThread.ManagedThreadId i}] 
|> Async.Parallel
|> Async.RunSynchronously