是C#中不同线程共享的静态类

我需要在线程之间共享一个值而不超出它的边界。 静态变量是否这样做?

静态变量在AppDomain中的多个线程之间共享。 所有线程都将在静态变量的同一实例上查看并执行操作。 因此,如果您使用静态,您可能希望使用某种forms的同步来保护该变量的访问。

如果你想拥有一个线程局部变量,那么ThreadLocal类就可以轻松实现。 它提供了一种生成和使用每个线程唯一的数据的方法。

你的意思是你希望变量是线程本地的?

您可以使用.NET 4中的[ThreadStatic]属性或ThreadLocal类。

就个人而言,如果您使用的是.NET 4,我更喜欢ThreadLocal – 但如果可以的话,最好还是避免这种情况。 例如 ,您可以将信息封装到用于启动线程的实例中吗?

您使用ThreadStaticAttribute对其进行装饰,以使静态变量仅在其初始化的线程中共享。

默认情况下,静态变量跨越AppDomain中的所有线程。

是的,应用ThreadStaticAttribute

是的你需要注意同步。