c# - 有没有办法在 C# 中对两个字节执行原子(读-更新-写)OR 操作?
问题描述
我查看了 .NET 5 中的Interlocked.Or方法。这对于两个整数值非常有用。有没有办法对两个单独的字节值执行等效的操作?
我搜索了文档,我可以看到InterlockedOr8存在于 中winnt.h
,但是 P/Invoking 它不会产生良好的性能特征。
我尝试Interlocked.CompareExchange<T>
如下调用,只是想看看我是否可以用一些字节值简单地调用它:
var map = new byte[268435456];
Interlocked.CompareExchange(ref map[0], (byte)137, (byte)137);
但我收到以下错误:
错误 CS0452 类型 'byte' 必须是引用类型才能将其用作泛型类型或方法 'Interlocked.CompareExchange(ref T, T, T)' 中的参数 'T'
解决方案
推荐阅读
- mongodb - 无法使用 useContext 挂钩将 axios 请求从前端发送到后端
- docker-compose - 在 docker-compose 中运行时,Go micro 仪表板未注册我的服务
- excel - 从相邻单元格细节动态改变 CC 场
- python - Python - 更改从字典初始化的对象属性会影响原始字典?
- android - 打开网页,跳转到AppGallery中某个应用的URL
- reactjs - 会话超时时如何处理 Jhispter 中的重定向?
- c++ - 如何使用英特尔 PIN 捕获阵列的所有负载?
- functional-programming - 标准 ML 风格:可变阴影是好的风格吗?
- python - TensorFlow 模型拟合和 train_on_batch 之间的区别
- facebook - 如何动态获取 Facebook 的短访问令牌