• heha37
    2018-11-12
    回答问题:
    1. 是否一定要操作引用类型的值;
    2. 是否一定要操作nil;
    3. 是否需要处理一个接口的不同类型。
    
     9
  • Geek_f1933b
    2020-01-18
    郝老师,什么时候使用atomic.value呢,有没有具体的应用中的简单例子呢

    作者回复: 其实需要保护非引用类型的值的时候都挺适用的。如果是引用类型的值的话,可能会起不到保护作用。因为我们修改的往往是这个值引用的那个底层值,而 atomic.Value 只会保护这个值本身。

    例子的话...比如保护全局配置、同时保护一坨全局计数、保护 bit array,等等。

    
     3
  • rename
    2018-10-27
    我认为最重要的三点是 要操作的变量类型,操作频率和整体操作耗时。请郝大指教~

    作者回复: 其实主要还是变量类型,原子操作在这块是严格的。能用原子就用原子。锁这个原语还是相对较重。

    
     3
  • 翅膀
    2018-11-15
    请教下关于读写的原子操作底层的问题,对于一个32位的整数,什么情况下会读写一半。假如这个值定义时做了字节对齐(存储地址是4的整数倍),还会有这种情况吗?如果再加限制,仅仅针对intel的现代cpu,比如i7,情况又是怎样的?
    
     2
  • sky
    2018-10-25
    郝大 关于这两节的原子操作提供的一些方法能具体列下相应常用的业务场景就更好了 这样才能更好的学以致用啊
    
     2
  • Askerlve
    2018-10-19
    老师,git代码没更新哦~😯
    
     2
  • Askerlve
    2018-10-19
    思考题:1.使用原子类型有ABA问题,若业务对ABA敏感,使用锁。
    只想到了一点,求老师补充~😀
     2
     1
  • Da Vinci
    2019-11-11
    在首次真正使用后,原子值就不应该再被复制了,这句话不是特别理解,想请老师再解释一下

    作者回复: Value 类型的值里面一旦存了值就不应该再拷贝了,因为这很可能会让基于内存地址的互斥机制失效,并产生混乱。这也是 Value 的文档里特别说明的。

    
    
  • 全时N多只
    2019-05-08
    有个疑问:语言层可以保证原子操作自身读、写时的正确性,但如何保证读出后用于业务判断的正确性呢?我理解业务判断已经在atomic方法之外了,还是无法保证数据使用的一致性

    作者回复: 数据一致性是一个比较大的话题了。没有上下文的话几乎是无从谈起的。

    
    
  • 顾骨
    2018-12-12
    int32这种类型是4个字节的,64位操作系统下,a=b这种赋值操作不是原子的吗?为什么还要LoadInt32这个原子操作?
    
    
  • 冰激凌的眼泪
    2018-11-01
    value的封装使用,可以参照后面的并发map
    
    
我们在线,来聊聊吧