Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
无锁算法真的比全锁算法性能更好吗?
陈雷蒙德 http blogs msdn com b oldnewthing 一直在做一个huge http blogs msdn com b oldnewthing archive 2011 04 15 10154245 aspx ser
Multithreading
synchronization
lockfree
一个单元在哪一级测试无锁代码?
Can LLVM https packages debian org stretch llvm QEMU https packages debian org stretch qemu kvm GDB https packages debia
unittesting
LLVM
opensource
qemu
lockfree
在无锁单链表的开头插入节点时,正确的内存顺序是什么?
我有一个简单的链表 不存在 ABA 问题的危险 我对阻塞类别很满意 并且我不在乎我的列表是先进先出 后进先出还是随机的 只要插入成功 不让其他插入失败 其代码如下所示 class Class std atomic
c
C17
lockfree
memorybarriers
stdatomic
内存栅栏:获取/加载和释放/存储
我的理解std memory order acquire and std memory order release如下 Acquire意味着没有出现内存访问after获取栅栏可以重新排序到栅栏之前 Release意味着没有出现内存访问bef
c
memorybarriers
lockfree
stdatomic
memorymodel
如何验证无锁算法?
从理论上讲 至少应该可以对无锁算法进行暴力验证 只有这么多的函数调用组合 是否有任何工具或正式推理过程可以实际证明无锁算法是正确的 理想情况下它还应该能够检查竞争条件和 ABA 问题 注意 如果你知道一种方法来证明一点 例如 只证明它不受
Algorithm
verification
lockfree
“程序顺序”实际上是什么意思?
据我所知 莱斯利 兰波特 Leslie Lamport 声明如下 任何执行的结果都相同 就好像所有处理器的操作都按某种顺序执行 并且每个单独处理器的操作都按此顺序出现在由其程序指定的顺序 取自 Leslie Lamport 如何制作正确执行
parallelprocessing
lockfree
尝试写一个无锁的单链表,麻烦去除
我正在尝试编写一个无锁单链表 最终一致性不是问题 有人遍历可能包含不正确项目的列表 我认为我正确添加了项目 循环和Interlocked CompareExchange 但我不知道如何删除节点 列表中的任何位置 因为我必须获取前一个项目并设
c
Multithreading
lockfree
线程安全的有限大小队列,不使用锁
我正在尝试编写一个主题队列 但遇到死锁和其他多线程问题 我想用Interlocked CompareExchange避免lock用法 但这段代码并没有按预期工作 它只是擦除整个队列 我在这里做错了什么 public class FixedS
c
Multithreading
synchronization
Queue
lockfree
将数据从一个线程传递到另一个线程的最快可能方法
我正在使用增强spsc queue将我的东西从一个线程移动到另一个线程 这是我的软件中的关键位置之一 所以我想尽快完成它 我写了这个测试程序 include
c
Multithreading
performance
boost
lockfree
Lockfree 标准集合和教程或文章
有人知道用于无锁常用数据类型的实现 即源代码 的好资源吗 我正在考虑列表 队列等 锁定实现非常容易找到 但我找不到无锁算法的示例以及 CAS 的工作原理以及如何使用它来实现这些结构 查看 Julian M Bucknall 的博客 他 详细
Multithreading
languageagnostic
locking
threadsafety
lockfree
无锁算法中的 ABA
我明白了ABA http en wikipedia org wiki ABA problem问题 但我无法理解的是 他们说在语言中自动垃圾收集它可能不会展示 所以我的问题是 自动垃圾收集如何防止ABA问题的发生 在java中是否可能 如果可
Java
concurrency
lockfree
std::atomic 将一对原子 int32 视为一个原子 int64?
我有一对 unsigned int32 std atomic
c
C11
lockfree
Delphi是否存在无锁队列“多个生产者-单个消费者”?
我发现了几个针对单个生产者 单个消费者的实现 但没有找到多个生产者 单个消费者的实现 Delphi是否存在 多个生产者 单个消费者 的无锁队列 无锁队列全线程库 http otl 17slon com支持多个生产者 您可以将它与线程库分开使
Delphi
datastructures
lockfree
读取由其他线程上的 Interlocked 更新的 int
这是重复 如何正确读取 Interlocked Increment ed int 字段 https stackoverflow com questions 6139699 how to correctly read an interlock
c
NET
Multithreading
lockfree
Interlocked
以下为可重入锁编写的代码是否容易出现指令重新排序错误?
我最近在学习无锁并发中的可重入锁时遇到了以下代码 class ReentrantLock32 std atomic
c
Multithreading
concurrency
lockfree
reentrancy
boost C++ 无锁队列与共享队列
我对多线程编程很陌生 我只知道最常见的生产者 消费者 队列 我正在使用 boost c 库 我不知道是否更好地使用 boost lockfree queue 或使用 mutex 和 condition variable 的 std queu
c
Multithreading
boost
producerconsumer
lockfree
`__CPROVER_fence()` 参数
我看到类似的代码 CPROVER fence RRfence RWfence 正在像这样的项目中使用Linux RCU 测试 https git kernel org pub scm linux kernel git torvalds li
c
staticanalysis
lockfree
cbmc
在无锁设置中是否可以实现多生产者、单消费者?
我有一堆线程相互之间进行大量通信 我希望这是无锁的 对于每个线程 我希望有一个邮箱 其他线程可以在其中向其发送消息 但只有所有者可以删除消息 这是多生产者单消费者的情况 我可以在无锁 高性能的情况下做到这一点吗 这是一个巨大模拟的内循环 无
message
lockfree
以原子方式将第一个元素添加到 ConcurrentLinkedQueue
我想用一个并发链接队列 http docs oracle com javase 7 docs api java util concurrent ConcurrentLinkedQueue html在原子的无锁 http en wikiped
Java
Multithreading
concurrency
lockfree
使用危险指针进行无锁内存回收
危险提示 http en wikipedia org wiki Hazard pointer是一种在无锁代码中安全回收内存而无需垃圾收集的技术 这个想法是 在访问可以并发删除的对象之前 线程将其危险指针设置为指向该对象 想要删除对象的线程将
Multithreading
Algorithm
memorymanagement
lockfree
1
2
3
»