atomic

    2热度

    1回答

    我试图创建结构变量的原子数组。但我不能将值分配给任何数组元素。 struct snap { int number; int timestamp; }; atomic<snap> *a_table; void writer(int i, int n, int t1) { int v, pid; int t1; a_table

    0热度

    1回答

    是否有可能在shared_ptr的atomic_compare_exchange_strong中与原始指针进行比较? 像这样: struct Chunk{ // atomics std::shared_ptr<Chunk> prev; std::shared_ptr<Chunk> next; }; // chunk is guarantee

    -1热度

    1回答

    是否有可能 - 在redis集群环境中执行ZADD时 - 所有添加的密钥最终都不会同时向所有人提供? 我们使用(scala)redis客户端通过ZADD添加一批密钥。 然后在X毫秒超时后请求密钥。 看起来1个批处理键有时(很少)缺失,并且仅在几毫秒后才可用。 我认为,在Redis一致性模型中,要么所有密钥都足够复制,因此可用,否则不显示。因此我不明白如何可能丢失一个单一的密钥。 集群环境中的正常R

    0热度

    3回答

    我有一个T-SQL查询是这样的: UPDATE [MyTable] SET [MyField] = @myValue WHERE [Id] = ( SELECT TOP(1) [Id] FROM [MyTable] WHERE [MyField] IS NULL -

    2热度

    1回答

    我的意思是原子是成功或失败,什么都不做。 我知道socketpair(AF_LOCAL, SOCK_STREAM)不是原子的,如果多进程/线程调用write(fd, buf, len),则write()的返回值可能> 0 && < len并导致数据不按顺序。 如果多个进程/线程write(buf, len)到由socketpair(AF_LOCAL, SOCK_SEQPACKET)创建的sock_

    1热度

    1回答

    与来自标准的框架之一原子性质与头部中给出的A类,看起来像这样: @interface A : NSObject @property float value; @end B类延伸,覆盖在某些情况下与组合物类A的转发逻辑。在这个实现中,B类中的value属性也是原子吗? @interface B : NSObject @property float value; @end @i

    1热度

    1回答

    “Treiber Stack”通常是最简单的无锁数据结构之一,因此在教授无锁算法介绍时经常使用它。 我见过很多使用C++ atomics的Treiber Stacks的实现。算法本身是微不足道的,所以真正的挑战是处理无锁数据结构的所有其他附带细节,例如提供某种方式来执行安全的内存回收,避免ABA问题,并以无锁方式分配节点。这可以通过各种方式解决,例如使用原子引用计数,危险指针,计数/标记指针以避免

    1热度

    2回答

    继Multiple assignment in one line后,我很想知道这对原子数据类型是如何工作的,特别是对于布尔类型的例子。 考虑: class foo { std::atomic<bool> a; std::atomic<bool> b; public: void reset(); [...] //Other methods that

    -1热度

    1回答

    我写一段代码来记录的请求的NUM。 package main import ( "log" "net/http" "runtime" "sync/atomic" ) var count int32 = 0 func test(w http.ResponseWriter, r *http.Request) { count = atomic

    0热度

    1回答

    什么是放松对ThreadMethodOne中的加载变量valA和valB的同步的最正确方法(假设valA和valB没有错误的缓存行共享)?似乎我不应该改变ThreadMethodOne使用memory_order_relaxed来加载valA,因为编译器可能会在valB.load之后移动valA.load,因为valB.load上的memory_order_acquire不能保护valA不会在va