首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >它所说的‘释放信号量的线程不一定是获得它的线程’是什么意思?

它所说的‘释放信号量的线程不一定是获得它的线程’是什么意思?
EN

Stack Overflow用户
提问于 2016-10-28 13:25:15
回答 2查看 461关注 0票数 2

Semaphore vs. Monitors - what's the difference?中,

释放信号量的线程不一定是获得信号量的线程。

如果线程没有获得信号量,那么线程如何释放信号量?

这里的信号量是指在繁忙等待中实现的信号量,还是使用进程阻塞实现的信号量?

谢谢。

EN

Stack Overflow用户

发布于 2016-10-28 13:28:39

在许多情况下,获得信号量的线程不能释放它,因为它被阻塞,等待某人释放信号量,而且必须是其他线程释放(信号)信号量。

在忙着等待的情况下实现信号量将是非常糟糕的。与锁不同的是,有些情况下信号保持很长时间(秒或分钟,小时可能有点不寻常,但绝对有可能)。

显然,对信号量对象的引用需要存储在另一个线程可以访问它的地方。

票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40306080

复制
相关文章

相似问题

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