首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >比较和交换与测试和设置

比较和交换与测试和设置
EN

Stack Overflow用户
提问于 2010-09-07 22:03:39
回答 2查看 20.6K关注 0票数 32

有人能给我解释一下以上操作在多线程中的工作原理和区别吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-09-07 22:23:56

test-and-set修改内存位置的内容,并将其旧值作为单个原子操作返回。

compare-and-swap原子地将内存位置的内容与给定值进行比较,并且仅当它们是相同的时才执行,将该内存位置的内容修改为给定的新值。

以粗体标记的差异。

票数 54
EN

Stack Overflow用户

发布于 2016-10-18 14:57:10

测试和设置在位上操作,比较和交换在32位字段上操作。

z/TPF系统倾向于使用测试和设置(TS)指令,因为锁定指示符通常是被设置以控制对系统代码的关键区域的访问的位。与比较和交换(CS)指令相比,测试和设置(TS)指令需要更少的寄存器,并且需要更少的执行时间,因为只需要设置单个字节。

我在http://www.ibm.com/support/knowledgecenter/SSB23S_1.1.0.13/gtpc3/tasinst.html上找到了这些材料

你可以通过“现代操作系统,第2章”这本书来了解更多关于TSL的知识……

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3659336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档