gpt4 book ai didi

c# - c# 中的原始数据类型是原子的(线程安全的)吗?

转载 作者:太空狗 更新时间:2023-10-29 17:34:40 25 4
gpt4 key购买 nike

比如多线程时是否需要锁定一个bool值?

最佳答案

没有原子类型这样的东西。只有操作可以是原子的。

读取和写入适合单个字的数据类型(int 在 32 位处理器上,long 在 64 位处理器上)在技术上是“原子的” ",但抖动和/或处理器可以决定重新排序指令,从而产生意外的竞争条件,因此您要么需要使用 lock 序列化访问,要么使用 Interlocked 类写入(在某些情况下读取),或声明变量 volatile

简短的回答是:如果两个不同的线程可能访问同一个字段/变量,并且至少其中一个线程正在写入,则您需要使用某种锁定。对于通常为 Interlocked 类的基本类型。

关于c# - c# 中的原始数据类型是原子的(线程安全的)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2433772/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com