gpt4 book ai didi

c# 2 BackgroundWorkers 同时启动

转载 作者:太空宇宙 更新时间:2023-11-03 10:59:17 24 4
gpt4 key购买 nike

有人可以看看并告诉我我的代码有什么问题吗?我正在“即时”创建 2 个 BackgroundWorkers 并尝试同时启动它们。Listen 和 Scan 类背后的代码在单独执行时一切正常,但当尝试以下面描述的方式执行它们时,由于某种原因它们总是一个接一个地启动。

private void btn_Start_BACKWorkers_Click(object sender, RoutedEventArgs e)
{
string one = tbx_id1.Text;
string second = tbx_id2.Text;
string Status = "";
var bw1 = new BackgroundWorker();

bw1.DoWork += delegate
{
string SelectedNumber = "0";
Listen myListen = new Listen(SelectedNumber );
TOTALlist = myListen.Main();
lbox_TOTAL.ItemsSource = addIPlist;
};

var bw2 = new BackgroundWorker();
bw2.DoWork += delegate
{
Send newScan = new Send(one , second);
string Status = newScan.hey();
FinalStatus = Status;

lbl_SendStatus.Content = FinalStatus ;
};

bw1.RunWorkerAsync();
bw2.RunWorkerAsync();
}

最佳答案

谢谢 FerretallicA!我无法将您的评论标记为最佳答案,所以我写在这里:这正是解决问题的原因,BackgroundWorker bw2 对于 bw1 来说太快了,所以我添加了 sleep 时间:

        bw1.RunWorkerAsync();
System.Threading.Thread.Sleep(1000);
bw2.RunWorkerAsync();

现在 bw1 有足够的时间启动,在 bw2 启动之前一切正常!谢谢大家!你太棒了!简单的解决方案是最好的!

关于c# 2 BackgroundWorkers 同时启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18300191/

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