C# 线程安全快速计数器

2024-01-13

在 C# 中获得具有最佳性能的线程安全计数器的方法是什么?

这很简单:

public static long GetNextValue()
{
    long result;
    lock (LOCK)
    {
        result = COUNTER++;
    }
    return result;
}

但还有更快的替代方案吗?


这会更简单:

return Interlocked.Increment(ref COUNTER);

MSDN 互锁增量 http://msdn.microsoft.com/en-us/library/dd78zt0c.aspx

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

C# 线程安全快速计数器 的相关文章

  • 是否可以从 C++ 应用程序调用 C# 应用程序?

    我是一名编程学生 现在我已经上了两门 C 课程 这个学期我将参加我的第一门 C 课程 出于好奇 是否可以从 C 应用程序调用 C 应用程序 如果是的话 是否还可以检查运行该程序的计算机是否具有 NET框架 我只是很好奇 我想如果可能的话 这
  • 锁定 ASP.NET 应用程序变量

    我在 ASP NET 应用程序中使用第三方 Web 服务 对第 3 方 Web 服务的调用必须同步 但 ASP NET 显然是多线程的 并且可能会发出多个页面请求 从而导致对第 3 方 Web 服务的同时调用 对 Web 服务的调用封装在自
  • XPATH 查询、HtmlAgilityPack 和提取文本

    我一直在尝试从名为 tim new 的类中提取链接 我也得到了解决方案 给出了解决方案 片段和必要的信息here https stackoverflow com questions 2982862 extracting a table ro
  • 叮当错误?命名空间模板类的朋友

    以下代码在 clang 下无法编译 但在 gcc 和 VS 下可以编译 template
  • MFC CList 支持复制分配吗?

    我在 MSVC 中查找了 CList 定义afxtempl h http www cppdoc com example mfc classdoc MFC AFXTEMPL H html并记录在MSDN http msdn microsoft
  • 司机和提供商之间的区别

    数据库中的驱动程序和提供程序有什么区别 有没有解释一下 不胜感激 样本 ADO NET driver for MySQL vs providerName System Data EntityClient 来自 MSDN 论坛 驱动程序是安装
  • 如何以编程方式播放 16 位 pcm 数组 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有一个包含 16 位 pcm 值的短 数组 我希望能够在不添加任何标题 也不将任何文件保存到内存的情况下播放它 我知道我可能需要一个提供
  • C 中“complex”的默认类型

    根据我读过的文档 C99 和更高版本的支持float complex double complex and long double complex作为复杂类型 但是 此代码在使用时编译时不会发出警告gcc Wall Wextra inclu
  • 使用 C# 中的 Google 地图 API 和 SSIS 包获取行驶距离

    更新 找到了谷歌距离矩阵并尝试相应地修改我的代码 我在这里收到无效参数错误 return new GeoLocation dstnc uri ToString catch return new GeoLocation 0 0 https 基
  • 子目录中的头文件(例如 gtk/gtk.h 与 gtk-2.0/gtk/gtk.h)

    我正在尝试使用 GTK 构建一个 hello world 其中包括以下行 include
  • 时间:2019-03-17 标签:c++fstream并发访问

    如果从不同的进程 线程同时访问文件会发生什么 据我所知 没有锁定文件的标准方法 只有操作系统特定的功能 就我而言 文件将被经常读取而很少写入 现在如果A打开一个文件进行读取 ifstream 并开始读取块 和B打开相同的文件进行写入 ofs
  • 使用 OleDbCommandBuilder 时访问 SQL 语法错误

    我要在 C 中使用 OleDbDataAdapter 在 Access 数据库中插入数据 但收到错误消息INSERT INTO 命令中的语法错误 BackgroundWorker worker new BackgroundWorker Ol
  • C++ 到 C# 事件处理

    所以我有我的C WinForm 应用程序 我从中调用我的C CLI MFC dll图书馆 但也有一些events在我的 C 库上 甚至此事件也发生在该库的本机 非 CLI 部分 我需要从我的 C 应用程序调用一些代码 并获取一些有关此事件的
  • EnumDisplayDevices 与 WMI Win32_DesktopMonitor,如何检测活动监视器?

    对于我当前的 C 项目 我需要为在大量计算机上连接并处于活动状态的每个监视器检测一个唯一的字符串 研究指出了两种选择 使用 WMI 并查询 Win32 DesktopMonitor 以获取所有活动监视器 使用 PNPDeviceID 来唯一
  • 从 NumPy 数组到 Mat 的 C++ 转换 (OpenCV)

    我正在围绕 ArUco 增强现实库 基于 OpenCV 编写一个薄包装器 我试图构建的界面非常简单 Python 将图像传递给 C 代码 C 代码检测标记并将其位置和其他信息作为字典元组返回给 Python 但是 我不知道如何在 Pytho
  • 如何将 int 作为“void *”传递给线程启动函数?

    我最初有一个用于斐波那契变量数组的全局变量 但发现这是不允许的 我需要进行基本的多线程处理并处理竞争条件 但我无法在 pthread 创建中将 int 作为 void 参数提供 我尝试过使用常量指针 但没有成功 由于某些奇怪的原因 void
  • “必须声明标量变量”错误[重复]

    这个问题在这里已经有答案了 必须声明标量变量 Id SqlConnection con new SqlConnection connectionstring con Open SqlCommand cmd new SqlCommand cm
  • printf或iostream如何指定点后的最大位数

    字符串采用什么格式printf or iomanip我应该使用 iostream 中的运算符以以下格式打印浮点数 125 0 gt 125 125 1 gt 125 1 125 12312 gt 125 12 1 12345 gt 1 12
  • 将 Swagger 与命名空间版本的 WebApi 结合使用

    我已经找到了如何使用基于名称空间的 WebAPI 版本这个班 https aspnet codeplex com SourceControl changeset view dd207952fa86 Samples WebApi Namesp
  • 使用 C# 动态创建按钮并按预定义的顺序放置它们

    NET 4 5 C 创建 Windows 窗体 我想动态创建和添加按钮并为其分配单击事件 但希望它们以特定的方式动态放置 就像图像一样 我的问题是如何以上述方式动态放置按钮 即 4x4 格式 一行 4 个按钮 4 列 但行数不受限制 是否可

随机推荐

  • Jackson真的无法将json反序列化为泛型类型吗?

    这是一个重复的问题 因为以下问题要么很混乱 要么根本没有答案 使用 Jackson 反序列化通用类型 https stackoverflow com questions 13118798 deserializing a generic ty
  • 通过 Play 中的“activator run”运行时获取要编译的资源

    我使用 Sass 作为 CSS 预处理器 并尝试让它通过资产管道运行 我尝试将此 sassTask 实现为源文件任务和 Web 资产任务 但两种方式都遇到了问题 如果我将 Sass 作为源任务运行 见下文 它会在activator run当
  • Rails 选择助手 - 默认选择值,如何?

    这是我现在使用的一段代码 如何修改它使其默认值等于params pid 页面何时加载 这应该可以做到
  • TFS:查询包含特定变更集的构建

    我有许多基于 TFS 中的单个分支 例如 Main 执行的构建定义 我想 以某种方式 查询 TFS 以查找包含我提供的特定变更集编号的所有构建 并返回 TFS 包含的构建名称的字符串列表 任何类型的应用程序 VS 扩展 CLI 应用程序 w
  • 在Python中组合多个for循环

    比方说 我们有一个名为 articles 的变量中的对象列表 每个对象都有一个成员 tags 这是一个简单的列表 预期输出 所有文章中的所有标签 加入到一个列表中 在多行中 解决方案是 arr for article in articles
  • PHP 中的递归生成器

    介绍 自 PHP 5 5 版本以来 出现了以下很棒的功能发电机 http php net manual en language generators overview php 我不会重复官方手册页 但它们对于迭代器的简短定义来说是很棒的事情
  • Facebook 链接将在应用程序而不是浏览器中打开[重复]

    这个问题在这里已经有答案了 可能的重复 从其他应用程序启动 Facebook 应用程序 https stackoverflow com questions 4191492 launch facebook app from other app
  • 动态编辑 Tensorflow 对象检测的管道配置

    我正在使用tensorflow对象检测API 并且我希望能够在python中动态编辑配置文件 如下所示 我想过在 python 中使用协议缓冲区库 但我不知道如何去做 model ssd num classes 1 image resize
  • “支持的最低 Gradle 版本是 2.14.1。当前版本是 2.10。”错误[重复]

    这个问题在这里已经有答案了 我正在尝试升级我的 Android 应用程序 但收到以下错误 支持的最低 Gradle 版本为 2 14 1 当前版本是2 10 如果使用 gradle 包装器 请尝试将 C Users MyUser Deskt
  • 如何使用 Translate Toolkit 将 .po 转换为 PHP 数组(Zend Framework)?

    我正在尝试使用po2php http docs translatehouse org projects translate toolkit en latest commands php2po html将我的 po 文件转换为 Zend ph
  • Docusign:使用 REST API 和预填充标签通过模板创建信封

    我正在集成 Docusign 以便收件人可以看到他们的信封嵌入在我的网站上 我首先使用 api 创建信封 然后尝试使用动态数据预填充数据字段 据我所知 我用来创建信封的 json 没有任何问题 StackOverflow 上针对此问题的其他
  • 有没有办法将 QWidget 添加到 QtCreator 中的 QMenu

    我正在创建一个文本编辑器 我想把QComboBox in the QMenu 我在里面没有找到任何方法QMenu处理过这样的事情 最接近的是QMenu addAction 我想知道如何绕过这个障碍 Thanks 你必须子类化QWidgetA
  • 高斯模糊和卷积核

    我不明白什么是卷积核以及如何将卷积矩阵应用于图像中的像素 我说的是对图像进行高斯模糊操作 我还可以获得有关如何为高斯模糊操作创建内核的解释吗 我在读本文 http en wikipedia org wiki Gaussian blur但我似
  • 点击视口底部时阻止 Mobile Safari 显示工具栏

    我们有一个简单的移动应用程序在 iOS 上的 Mobile Safari MS 中运行 当用户向下滚动页面时n像素 一个 顶部 按钮从底部向上滑动 顶部按钮是固定位置 问题是 当您开始在 MS 中滚动时 导航和工具栏 UI 会被隐藏 当您点
  • 无法使用 servlet 和 jsp 更新表中的特定记录

    大家好 我为用户创建了一个 jsp 页面 他们可以在其中更新其现有详细信息 并且提交时记录会在数据库中更新 1 gt 帐户详细信息 java Java Servlet program responsible for obtaining th
  • Github:带有拉取请求的分叉

    我正在研究这段代码 https github com samvermette SVPullToRefresh https github com samvermette SVPullToRefresh 这有许多拉取请求待处理 但由于某种原因
  • 模拟子进程.Popen

    我有一个模块 utils py 它有这个 run cmd 方法 def run cmd cmd pipe subprocess Popen cmd shell True stdout subprocess PIPE stderr subpr
  • Linq 不同 - 计数

    我希望对示例对象列表执行查询 Date Username 01 01 2011 james 01 01 2011 jamie 01 01 2011 alex 01 01 2011 james 02 01 2011 matt 02 01 20
  • Friendly_id使用belongs_to关联中的值

    我有以下型号 class User lt ActiveRecord Base extend FriendlyId friendly id first name use gt slugged has one professor after c
  • C# 线程安全快速计数器

    在 C 中获得具有最佳性能的线程安全计数器的方法是什么 这很简单 public static long GetNextValue long result lock LOCK result COUNTER return result 但还有更