加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

多个背景工作者C#

发布时间:2020-12-15 18:35:36 所属栏目:百科 来源:网络整理
导读:快速问题 – 是否可以让两名后勤工作人员同时运行?我似乎记得尝试过这一次并得到一个错误,并且似乎还记得读到你只能有一个…我找不到另一个线程,谈论有多个明确但… 任何想法都非常感谢! 干杯 解决方法 您可以拥有尽可能多的后台工作人员并同时运行.例: v
快速问题 – 是否可以让两名后勤工作人员同时运行?我似乎记得尝试过这一次并得到一个错误,并且似乎还记得读到你只能有一个…我找不到另一个线程,谈论有多个明确但…

任何想法都非常感谢!

干杯

解决方法

您可以拥有尽可能多的后台工作人员并同时运行.例:
var worker1 = new BackgroundWorker { WorkerReportsProgress = true };
var worker2 = new BackgroundWorker { WorkerReportsProgress = true };
DoWorkEventHandler doWork = (sender,e) =>
{
    for (int i = 0; i < 10; i++)
    {
        var progress = (int)((i + 1) * 100.0 / 10);
        var worker = (BackgroundWorker)sender;
        worker.ReportProgress(progress);
        Thread.Sleep(500);
    }
};
worker1.DoWork += doWork;
worker2.DoWork += doWork;
worker1.ProgressChanged += (sender,e) =>
{
    label1.Text = e.ProgressPercentage.ToString();
};
worker2.ProgressChanged += (sender,e) =>
{
    label2.Text = e.ProgressPercentage.ToString();
};

worker1.RunWorkerAsync();
Thread.Sleep(1000);
worker2.RunWorkerAsync();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读