我正在研读
事务内存
(TM),我正在阅读的一篇论文说[
1
]:
事实上,正是两种非阻塞算法--无阻塞DSTM和无锁FSTM --在过去十年中重振了STM研究。
我的印象是锁意味着阻塞。显然,我错了..。
这两个术语之间的区别是什么?
无锁
“和”
无障碍
"?
发布于 2010-12-15 12:37:04
以下是Herlihy & Shavit's的定义
多处理器编程的艺术
..。
一种方法是
免等待
如果它保证每个调用在有限数量的步骤中完成其执行。
一种方法是
无锁
如果它保证某个方法调用在有限数量的步骤中完成的次数是无限的。
一种方法是
无障碍
如果从隔离执行后的任何点开始,它在有限数量的步骤中完成(如果没有其他线程执行步骤,则方法调用以隔离方式执行)。
所有等待自由的方法都是无锁的,所有无锁的方法都是无障碍的。
https://stackoverflow.com/questions/4432527
复制相似问题