.NET 中并行任务的线程安全

本文关键字:线程 安全 并行任务 NET | 更新日期: 2023-09-27 18:33:18

任务

并行库线程的委托的内部是否安全 - 即在该委托中声明的变量值是否与该线程隔离?

例:

Parallel.ForEach(collection, item => {
    var something = new Something(item.Property);
});

something是否保证始终是线程的唯一,防止被同一Parallel操作创建的另一个线程覆盖?

.NET 中并行任务的线程安全

由于这是一个

委托,something是一个局部变量,如果它是值类型,它肯定是线程安全的 - 当然,如果变量包含对共享引用对象的引用(例如,对委托用作闭包的变量的引用),它仍然可以被覆盖)