gpt4 book ai didi

C# 后台 worker 问题

转载 作者:太空狗 更新时间:2023-10-29 18:19:10 25 4
gpt4 key购买 nike

我有一个后台工作人员,基本上执行以下操作:

  1. 查找下一个可用文件并将其标记为处理中
  2. 处理文件并将更新版本另存为新文件
  3. 将原件标记为已处理

如果有文件要处理,以上步骤需要循环继续处理。

我希望 Background Worker 能够停止,并且我看到了 WorkerSupportsCancellation 设置,但是如何确保它只能在文件之间停止,而不是在处理文件时停止?

最佳答案

WorkerSupportsCancellation 设置为 true,并定期检查 DoWork 事件处理程序中的 CancellationPending 属性。

CancelAsync 方法仅设置 CancellationPending 属性。它不会杀死线程;是否响应取消请求取决于工作人员。

例如:

private void myBackgroundWorker_DoWork(object sender, DoWorkEventArgs e)
{
while( !myBackgroundWorker.CancellationPending )
{
// Process another file
}
}

关于C# 后台 worker 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6266851/

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