首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >同一代码块被不同的回调同时访问

同一代码块被不同的回调同时访问
EN

Stack Overflow用户
提问于 2017-10-09 14:20:19
回答 1查看 29关注 0票数 0

我有一个场景,一个函数(代码块)被n个不同的回调函数访问。如果同时有多个回调调用函数,我必须在函数中放一个互斥锁,这样一次只有一个回调可以访问这个互斥锁,而另一个回调必须等到临界区的第一个互斥锁。这个设计正确吗?有没有其他的设计?有没有办法在处理第一个回调时不让第二个回调等待?

EN

回答 1

Stack Overflow用户

发布于 2017-10-09 15:15:14

取决于该函数。

它会修改共享内存吗?

它是否使用了其他具有竞争条件的函数?

如果答案是肯定的,那么您必须应用锁定并同步进程。

从头到尾应用该函数的锁没有什么意义。仅在临界区(即更新(写入)共享数据的代码段)之前和之后应用锁。

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

https://stackoverflow.com/questions/46639928

复制
相关文章

相似问题

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