Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
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
是否可以在C++中实现无锁映射
我们正在开发一个基于C S的网络应用程序 我们发现std map添加了太多的锁 导致服务器的性能变差 我想知道是否可以实现无锁映射 如果可以 如何实现 那里有开源代码吗 编辑 实际上我们使用std map来存储socket信息 我们根据so
c
Algorithm
Dictionary
lockfree
确保使用双比较和交换指令来实现无锁堆栈?
假设64位x86 64架构和Intel第3 4代CPU 以下是 Concurrency in Action 一书第 202 页中堆栈的无锁实现 template
c
Multithreading
Assembly
x86
lockfree
std::call_once 是无锁的吗?
我想知道 std call once 锁是否已释放 There https codereview stackexchange com questions 117468 stdonce flag and stdcall once implem
c
Multithreading
C11
lockfree
是否存在等于 C++11 中的 asm("" ::: "memory") 的编译器障碍?
我的测试代码如下 我发现只有memory order seq cst禁止编译器重新排序 include
c
C11
atomic
lockfree
memorybarriers
可移植的比较和交换(原子操作)C/C++ 库?
是否有任何小型库 可以将各种处理器的类似 CAS 的操作包装成可跨多个编译器移植的宏或函数 PS The 原子 hpp库 http www boost org doc libs 1 39 0 boost interprocess detai
c
Multithreading
portability
lockfree
对深度不可变类型进行延迟初始化是否需要锁?
如果我有一个深度不可变的类型 所有成员都是只读的 如果它们是引用类型成员 那么它们也引用深度不可变的对象 我想在类型上实现一个延迟初始化的属性 如下所示 private ReadOnlyCollection
c
lazyloading
immutability
lockfree
奇怪的shared_ptr行为
我发现了一个非常奇怪的行为std shared ptr在c 中 以下示例与标准指针完美配合 然而使用std shared ptr导致这里出现分段错误 参见下面的回溯 我知道 访问std shared ptr来自多个线程是不安全的 因此我使用
c
C11
sharedptr
atomic
lockfree
我是否需要为线程之间的更改通知标志设置内存屏障?
我需要一个非常快速的 在 读取器成本低 的意义上 而不是 低延迟 线程之间的更改通知机制 以便更新读取缓存 情况 Thread W 编写器 更新数据结构 S 在我的例子中是地图中的设置 只是偶尔一次 Thread R Reader 维护一个
c
Multithreading
c03
lockfree
CAS 冲突的 CPU 内部特征是什么?
我正在尝试了解 x86 x64 上 CAS 的低级机制 我非常感谢一些帮助 见解 我一直在思考这个问题的原因是我试图推理指数退避 并原则上找出正确的退避延迟单位应该是什么 如果我查看无锁空闲列表基准测试 没有指数退避 我会发现随着线程数量的
Multithreading
Assembly
concurrency
x8664
lockfree
1
2
3
»