因此,我们都在MSDN上看到了许多可用的通用对象的线程通知:
“此类型的公共静态(在Visual Basic中为Shared)成员是线程安全的。不能保证任何实例成员都是线程安全的。”
我的问题是,作为一个实例变量与一个公共静态变量相比,为什么它是不安全的?
发布于 2009-08-08 21:34:16
不是线程安全的方法的问题是并发访问共享资源,如实例变量。如果一个静态方法只在私有/本地数据上工作,那么它本身就是线程安全的。然而,不能保证静态方法就能做到这一点--这必须显式地完成。
因此,对于线程安全的静态方法来说,如果不使用同步,它就不能访问静态成员,并且在修改它之前,它应该复制作为输入接收的任何数据。
https://stackoverflow.com/questions/1249837
复制相似问题