gpt4 book ai didi

c# - 多线程锁定/监控

转载 作者:太空宇宙 更新时间:2023-11-03 18:36:37 27 4
gpt4 key购买 nike

在 .NET 中,假设 thread A 锁定了一个对象。同时,线程B线程C被阻塞,等待线程A解锁对象。

现在,线程 A 解锁了对象。接下来将选择哪个线程(B 或 C)?它是如何确定的?

最佳答案

简短的回答是它是不确定的——也就是说,你永远不知道。

中等答案是等待获取锁的线程被放入“就绪队列”,即 FIFO,但您不能依赖它。

长答案是,可以“借用”就绪队列中的线程来运行称为 APC (Asynchronous Procedure Calls) 的小块工作。发生这种情况时,它们会失去它们在队列中的位置,当 APC 完成时,它们被放回就绪队列 - 但在最后。

所以,回到简短的回答:你永远不知道。

关于c# - 多线程锁定/监控,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14416853/

27 4 0
文章推荐: python - 对类属性进行假继承是否不好
文章推荐: css - 如何删除应用于 wordpress 仪表板上的 css 规则?
文章推荐: Python/Pygame - 跳转键并不总是注册
文章推荐: css - 为什么
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com