C# 中的私有静态变量和线程安全

2024-01-11

我的一位同事在多线程 C# 应用程序中编写了以下代码...

public class1
{
     private static partialClass var1 = new partialNonStaticClass();

     public static method1()
     {
        //do something with var1
     }
}

尽管 var1 是私有的并设置为非静态分部类,但它是静态的事实意味着它可以由所有线程共享。
此外,不对 var1 执行锁定。 因此,var1 不是线程安全的。

只是想有人验证我是正确的。


,它是静态的这一事实意味着它可以被所有线程共享。

这是真实的。它could可能被多个线程使用。

此外,不对 var1 执行锁定。因此,var1 不是线程安全的。

这可能是真的,也可能不是。如果partialNonStaticClass本身是线程安全的,可能不需要锁定。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# 中的私有静态变量和线程安全 的相关文章

随机推荐

  • JSP、MySQL 和 UTF-8

    我正在思考 通过表单输入的国际字符没有完全按照输入的方式存储 并且存储的数据也没有按照存储在数据库中的方式返回 如果我输入 anak mlek patlad 并单击表单上的 保存 我使用的页面会显示 anak mlek patlad 但数据
  • xunit 添加信息到输出

    有谁知道如何在运行 xUnit 测试时向输出控制台添加附加信息 我正在使用 testdriven net 但我不认为这就是我的答案所在 我正在使用一个IUseFixture 实际上IClassFixture从 2 0 开始 在测试之间维护数
  • ServiceStack:如何处理错误?

    到目前为止 我使用 ServiceStack 取得了很好的效果 只是处理错误似乎很棘手 如果在消息序列化期间出现问题 例如 因为我忘记向消息添加默认构造函数 则客户端返回的所有消息都是服务器有内部错误且状态代码为 500 的消息 这Http
  • gwt 从 jsni 方法返回了除 int 之外的其他内容

    从今天开始 我收到了一条与昨天相同的代码的错误消息 但我没有进行任何更改 我收到此错误消息 警告 perchsearch 从 JSNI 方法 com google gwt dom client DOMImplStandardBase Cli
  • 无法使用 vue.js 调用 v-show 和 @click 同一按钮

    我正在尝试根据数据变量在按钮上显示文本并调用 vue js axios 方法的函数 我能够根据数据变量在按钮上显示文本 但无法调用 axios post 方法 我收到以下错误 当我点击按钮时 url http localhost 8085
  • 有没有办法用c3js更改标签?

    我正在使用新的c3js http c3js org 图书馆 有什么办法可以更改图表中某条数据的标签吗 我有一个条形图 其中每个条形都是一个美元价值 我希望每个条形的标签为 100 美元而不是 100 美元 如果我将值设置为 100 美元 则
  • OpenXML 替换所有文档中的文本

    我有下面的一段代码 我想用 NewText 替换文本 Text1 这样就可以了 但是 当我将文本 Text1 放入表格中时 该表格不再适用于表格内的 Text1 我想在所有文档中进行此替换 using WordprocessingDocum
  • initWithFrame 未调用,但 awakeFromNib 已调用

    我正在尝试对 NSOutlineView 进行子类化 这是我的代码 OutlineViewSublcas h import
  • 什么是uWSGI主模式?

    如果我只运行一个应用程序 在主模式下运行 uWSGI 有什么好处 主模式是否提供进程管理优势 使其比通过 Upstart 运行更可靠 upstart只是一个进程管理器 uWSGI master可以访问worker的很多内存区域 事实上恰恰相
  • 实体框架 - SaveChanges() 未获取生成的身份密钥

    我在我的项目中使用实体框架 这真是一场噩梦 我有一个 SQL 数据库 有一个名为 Form 的表 Form有一个ID 它是PK和Identity 它是自动增加的 这次我这样做 Dim form as int32 Dim dbform As
  • 如何使用 Altair 按日期时间值突出显示条形

    如同 https altair viz github io gallery bar chart with highlighted bar html https altair viz github io gallery bar chart w
  • 调用模板函数时出现意外输出

    下面的代码是我正在经历的 cpp 测验的一部分 include
  • pandas concat 列ignore_index 不起作用

    我正在尝试列绑定数据框 例如 R 的cbind 确实 并且与熊猫有问题concat as ignore index True似乎不起作用 df1 pd DataFrame A A0 A1 A2 A3 B B0 B1 B2 B3 D D0 D
  • 使用剪贴板的 C# 多线程应用程序

    我正在开发一个多线程应用程序 我面临着必须使用剪贴板的问题 我正在使用 Qlikview API 并且我需要将表格复制到 Excel 中 问题是我认为会发生什么是这样的 在线程 1 上 我打开 QW 文档并复制表格 在将其粘贴到 Excel
  • 我应该在我的应用程序中使用 iOS 4 新功能吗?为什么?

    我正在更新我的一个应用程序 但我遇到了一个困境 在我想添加 iOS 4 独特功能的地方 我别无选择 只能仅针对支持的设备实现它们 这里没有困境 困境是当我有两种方法可以达到相同的效果时 一种是 旧方式 另一种是 新方式 一个很好的例子是使用
  • 在 Git Bash 中显示 SSH 密钥文件

    如何查看 Git Bash 中使用了哪个 SSH 密钥文件 我尝试了 git config get all 但收到错误消息 错误 参数数量错误 用法 git config 选项 使用哪个 SSH 密钥不是由 Git 决定的 而是由 SSH
  • psql: FATAL: 用户 Windows 8 密码验证失败

    我在 Windows 上安装了 postgresql 安装时它要求为该帐户创建一个用户 这在我的计算机上创建了一个名为 postgres 的新 Windows 用户 我也为其创建了一个密码 现在我想在 Windows 命令行上运行 psql
  • fork 的 Maven 项目使用什么版本标签?

    我经常不得不 fork 一个使用 Maven 的 Java 项目 通常在 github 上 当我分叉项目并进行更改时 我通常希望将版本剪切到我自己的私有 但在互联网上 maven 存储库 因此 我的自定义版本的版本标签应该是什么的问题 我做
  • 动态加载多个 JS 文件并在所有文件准备就绪时触发回调

    我有几个 JS 和 CSS 文件 需要使用 JavaScript 动态附加到 DOM 所描述的方法here https www nczonline net blog 2009 07 28 the best way to load exter
  • C# 中的私有静态变量和线程安全

    我的一位同事在多线程 C 应用程序中编写了以下代码 public class1 private static partialClass var1 new partialNonStaticClass public static method1