我知道有许多线程安全问题,特别是在VB.NET和C#中的随机类。我读过乔恩·斯基特( Jon,)的几篇博客文章,但我仍然很难评估代码的线程安全性。我很抱歉在这个表格上添加了另一个问题。后台:调用该类的任何代码(直接或间接)通常在多个线程上运行,而不使用任何类型的线程锁定。虽然我知道我可以将线程安全的责任传递给任何调用代码,但我更愿意让这个类单独处理多个线程。Dim newRandom As Random
Responder实例一起工作,这样线程安全就不是问题了?我的直觉是,线程安全在这里不是一个问题,因为每个线程都使用自己的实例、自己的成员,而不是共享数据,当我尝试运行这个示例时,size()调用输出所有线程的大小相同(1000)。所以它看起来是线程安全的,但是我尝试了一种所谓的解线程安全的方法: int i;
原来随机画是不安全的。class StaticRandom static int seed = Environment.TickCount;
new ThreadLocal<Random>(() => new Random(Interlocked.Increment(ref seed)));
publicstatic int Next(in