首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“同步原语”的定义

“同步原语”的定义
EN

Stack Overflow用户
提问于 2011-11-05 01:27:11
回答 2查看 35.4K关注 0票数 40

同步原语到底是什么意思?例如:互斥,关键部分,等待定时器,事件,监视器,条件变量,信号量。所有这些都是同步原语吗?是否还有其他的同步原语我还没有列出?这是一个有效的问题吗?

EN

回答 2

Stack Overflow用户

发布于 2011-11-05 01:57:16

同步原语是平台(例如操作系统)为支持线程或进程同步而向用户提供的简单软件机制。它们通常使用较低级别的机制(例如原子操作、内存屏障、自旋锁、上下文开关等)构建。

互斥、事件、条件变量和信号量都是同步原语。共享和排他性锁也是如此。监视器通常被认为是一种高级同步工具.它是一个使用其他同步原语(通常是带有条件变量的独占锁,以支持等待和信令)来保证其方法的互斥性的对象。在某些情况下,当监视器被用作一个构建块时,它也被认为是一个同步原语。

关键部分不是同步原语。它是执行路径的一部分,为了维护某些不变量,必须防止并发执行。您需要使用一些同步原语来保护关键部分。

票数 56
EN

Stack Overflow用户

发布于 2018-01-22 22:20:04

正如@Loom建议的那样,我添加了哥伦比亚大学提供的这份清单,作为对您问题的回答。

也可以看看微软的这篇文章,它的日期是03/2017 (我觉得它更老了,哥伦比亚大学的文章也是如此)。

据我所收集的,同步原语并没有很好的定义,因为它们没有正式的列表。

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

https://stackoverflow.com/questions/8017507

复制
相关文章

相似问题

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