C#构造函数线程安全吗?

你好

假设我有多个线程,并且每个线程都在尝试创建同一类的对象。
在不同线程中同时创建相同类型的对象会相互干扰吗?我是否需要在构造函数中使用“锁定”?

太慢了

这在很大程度上取决于构造函数的实现。

如果构造函数仅访问该类的成员,而不访问任何外部静态类或方法,则可以-它是线程安全的。

但是,如果该构造函数正在访问类本身之外的非线程安全对象(例如全局单例),则它不是线程安全的。

更新:构造函数应注意不要访问类的任何非只读或const静态成员。(感谢Nathan A和LVBen)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C ++构造函数线程安全

来自分类Dev

填充ConcurrentDictionary时的C#静态构造函数初始化线程安全

来自分类Dev

以下C函数是线程安全的吗?

来自分类Dev

以下C函数是线程安全的吗?

来自分类Dev

BeginAcceptTcpClient 线程安全吗?C#

来自分类Dev

C ++ 11 std :: atomic <T>复制构造函数的线程安全

来自分类Dev

线程安全C#

来自分类Dev

C标准库线程中的函数安全吗?

来自分类Dev

C标准库线程中的函数安全吗?

来自分类Dev

在C#中的构造函数中声明线程

来自分类Dev

C#此方法线程安全吗?

来自分类Dev

C#的空条件委托调用线程安全吗?

来自分类Dev

在C#中的IAsyncEnumerable线程安全内部递增Integer吗?

来自分类Dev

以下获取/重置对线程在C#中安全吗?

来自分类Dev

C ++调用线程构造函数

来自分类Dev

C read()线程安全吗?

来自分类Dev

以下move构造函数代码安全吗?

来自分类Dev

构造函数中的malloc安全吗?

来自分类Dev

从函数返回QString-线程安全吗?

来自分类Dev

C#分配线程安全

来自分类Dev

C#:FileStream.ReadByte()是多线程友好函数吗?

来自分类Dev

仅在构造函数中使用私有设置器会使对象具有线程安全性吗?

来自分类Dev

python的“ in”语言为列表构造线程安全吗?

来自分类Dev

为什么(或不是)在构造函数中设置字段是线程安全的?

来自分类Dev

当我从C#代码调用C ++代码时,它是线程安全的吗?

来自分类Dev

freebsd C crypt()线程安全吗?

来自分类Dev

犰狳C ++矩阵线程安全吗

来自分类Dev

C#中的构造函数

来自分类Dev

重载的构造函数c#