• atomic operations


    atomic operations

    int atomic_xchg ( volatile __global int *p, int val)

    Description

    Swaps the old value stored at location p with new value given by val. Returns old value.

    from: https://www.khronos.org/registry/OpenCL/sdk/1.1/docs/man/xhtml/atomic_xchg.html

    Linux内核同步原语之原子操作(Atomic)

    https://blog.csdn.net/Roland_Sun/article/details/107115267

    尽可能使用acquire和release语义进行同步

    相比ARMv7,ARMv8增加了load-acquire(LDLARB,LDLARH和LDLAR)和store-release(STLLRB,STLLRH和STLLR)指令,这可以直接支持c++原子库中的相关语义。这些指令可以理解成半屏障。这些半屏障指令的执行效率要比全屏障更高,所以在能够使用这种类型的屏障时,我们尽可能acquire和release语义来做线程间的同步。

    Read-Acquire用于修饰内存读取指令,一条 read-acquire 的读指令会禁止它后面的内存操作指令被提前执行,即后续内存操作指令重排时无法向上越过屏障。

    Write-Release用于修饰内存写指令,一条 write-release 的写指令会禁止它上面的内存操作指令被乱序到写指令完成后才执行,即写指令之前的内存操作指令重排时不会向下越过屏障。

    from:

    https://support.huaweicloud.com/codeprtr-kunpenggrf/kunpengtaishanporting_12_0049.html

    Linux内核API 同步机制

    https://deepinout.com/linux-kernel-api/linux-kernel-api-synchronization-mechanism/linux-kernel-api-synchronization-mechanism.html

  • 相关阅读:
    HDU 1285
    HDU 1251
    HDU 1166
    UVA 10003
    HDU 5968
    CodeForces 371C
    POJ 2456
    POJ 2250
    oracle的start with connect by prior
    Hibernate session中的createCriteria方法
  • 原文地址:https://www.cnblogs.com/aspirs/p/15024086.html
Copyright © 2020-2023  润新知