gpt4 book ai didi

c# - 请求线程在不强制退出的情况下退出?

转载 作者:太空宇宙 更新时间:2023-11-03 20:43:35 25 4
gpt4 key购买 nike

我正在编写一个应用程序。有来自网络的 DL 资源的插件。如果用户想退出,我不希望任何 DL 开始,但我希望正在进行的 DL 继续,直到完成。在他们停止后,我会优雅地退出。

我如何确定线程是在 DL 的中间还是只是在休眠?实际的下载资源功能在我的基类中并且不是虚拟的,所以我可以编写代码来说明它是否正在进行但除此之外。我实际上如何将信息传递给主线程以说明它是否正在休眠并终止下载过程中的 VS?

最佳答案

最好的方法是创建一个插件实现的接口(interface),允许您查询它们的状态并请求它们停止正在做的事情(以防您稍后决定添加该功能)。强烈不推荐使用 Thread.Interrupt 和 Thread.Abort。线程状态是 absolutely useless .它们不能保证正常工作,甚至可能让您的代码陷入困境,进入无人管理的梦幻岛。通过创建一个标准化这些请求的接口(interface),您可以确保您的插件开发人员提供报告状态和安全中止进度的机制。

如果您认识插件的开发人员,我建议您让他们阅读 Jon Skeet 的 threading series .

关于c# - 请求线程在不强制退出的情况下退出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1664922/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com