gpt4 book ai didi

c# - 如何在不轮询 ThreadState 的情况下判断线程是否完成执行?

转载 作者:行者123 更新时间:2023-11-30 19:51:32 24 4
gpt4 key购买 nike

有没有一种优雅的方法可以知道工作线程何时执行完毕,以便我可以访问它产生的资源?

例如,如果工作线程使用查询 SQL Server 列表

ServersSqlDataSourceEnumerator.Instance.GetDataSources();

并将结果保存在 DataTable 变量中,我可以使用什么机制来知道此 DataTable 变量何时已填充/可用。我不想轮询 ThreadState;最好在事件完成后触发事件,这样我就可以对结果执行操作。

谢谢!

最佳答案

您可以使用回调机制或阻止事件来了解异步操作的完成。请参阅此页面以获取 Asychronous Programming Model in .net - 您可以对任何委托(delegate)调用 BeginInvoke 以异步方式执行操作。

如果您使用的是 BackgroundWorker 类型,则可以订阅 RunWorkerCompleted event .

关于c# - 如何在不轮询 ThreadState 的情况下判断线程是否完成执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/945122/

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