gpt4 book ai didi

objective-c - BOOL 在 Objective C 中是读/写原子的吗?

转载 作者:太空狗 更新时间:2023-10-30 03:28:15 30 4
gpt4 key购买 nike

当两个线程“同时”将 BOOL 设置为 YES 时会发生什么?

最佳答案

这是 Jacko 建议的解决方案的代码.
volatile uint32_tOSAtomicOr32BarrierOSAtomicAnd32Barrier

一起使用
#import <libkern/OSAtomic.h>

volatile uint32_t _IsRunning;

- (BOOL)isRunning {
return _IsRunning != 0;
}

- (void)setIsRunning:(BOOL)allowed {

if (allowed) {
OSAtomicOr32Barrier(1, & _IsRunning); //Atomic bitwise OR of two 32-bit values with barrier
} else {
OSAtomicAnd32Barrier(0, & _IsRunning); //Atomic bitwise AND of two 32-bit values with barrier.
}
}

关于objective-c - BOOL 在 Objective C 中是读/写原子的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2259956/

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