.NET 中并行任务的线程安全
本文关键字:线程 安全 并行任务 NET | 更新日期: 2023-09-27 18:33:18
任务
并行库线程的委托的内部是否安全 - 即在该委托中声明的变量值是否与该线程隔离?
例:
Parallel.ForEach(collection, item => {
var something = new Something(item.Property);
});
something
是否保证始终是线程的唯一,防止被同一Parallel
操作创建的另一个线程覆盖?
由于这是一个
委托,something
是一个局部变量,如果它是值类型,它肯定是线程安全的 - 当然,如果变量包含对共享引用对象的引用(例如,对委托用作闭包的变量的引用),它仍然可以被覆盖)