首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是什么让实例成员线程不安全而不是公共静态的?

是什么让实例成员线程不安全而不是公共静态的?
EN

Stack Overflow用户
提问于 2009-08-08 20:37:08
回答 1查看 7.2K关注 0票数 20

因此,我们都在MSDN上看到了许多可用的通用对象的线程通知:

“此类型的公共静态(在Visual Basic中为Shared)成员是线程安全的。不能保证任何实例成员都是线程安全的。”

我的问题是,作为一个实例变量与一个公共静态变量相比,为什么它是不安全的?

EN

回答 1

Stack Overflow用户

发布于 2009-08-08 21:34:16

不是线程安全的方法的问题是并发访问共享资源,如实例变量。如果一个静态方法只在私有/本地数据上工作,那么它本身就是线程安全的。然而,不能保证静态方法就能做到这一点--这必须显式地完成。

因此,对于线程安全的静态方法来说,如果不使用同步,它就不能访问静态成员,并且在修改它之前,它应该复制作为输入接收的任何数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1249837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档