它需要线程安全,所以我想使用Interlocked.Increment来增加计数器(在这种情况下,没有锁,因为锁会带走与多线程相关的所有性能增益)。无论如何,问题在于语法:如何获得引用单元格(&!= fun () -> // let index = Interlocked.Increment(&counter)
// l
这本书建议我可以使用Interlocked.increment(ref number)替换AddOne方法中的数字+= 1,因此该值将被锁定,直到它在线程中更新。只有在我取消对Thread.Sleep(1000)行的注释之后,即使没有使用Interlocked,输出也是正确的。{
for (int i = 0;i<10; Interlocked.Increment(ref i