簡體   English   中英

使用后台工作者的函數調用

[英]Function Call using Background Worker

我有一個函數 InitializeList()。 現在,我從三個后台工作人員的 DoWork 事件調用這個函數。 那么,來自多個 Backgroundworker 的單個函數的調用是否並行運行? 或者我必須創建三個不同的函數並將它們傳遞給不同的后台工作人員以並行運行?

有關其他信息,此單個函數確實使用了 Windows 窗體上不同控件的更新。

private void InitializeList()
    {
        try
        {
            _testMaster1 = new TestMasters();
            string query = string.Empty;
            query = "SELECT TestMasterFVT01.* FROM TestMasterFVT01 WHERE ((TestMasterFVT01.ThreadNO)<>0) ORDER BY TestMasterFVT01.TestID, TestMasterFVT01.SubTestID;";

            _testMaster1 = Singleton.Instance.GetData(query);
            mainListView1.Items.Clear();
            mainListView1.Items.AddRange(Singleton.Instance.ListViewItemCollection.ToArray());

            _itemCount1 = _testMaster1.Count;

            if (_itemCount1 == 0)
            {
                MessageBox.Show("Please check Model Setting");
                Environment.Exit(0);
            }
            progressBar1.Value = 0;
            textBoxBoardName1.Select();
        }
        catch (Exception ex)
        {
            MessageBox.Show("Please check Model Setting");
            Environment.Exit(0);
            Logger.Error(ex);
        }
    }


void backgroundWorker_DoWork(object sender, DoWorkEventArgs e)
    {
InitializeList();
}

void backgroundWorker2_DoWork(object sender, DoWorkEventArgs e)
        {
InitializeList();
}

void backgroundWorker3_DoWork(object sender, DoWorkEventArgs e)
        {
InitializeList();
}

從多個 Backgroundworker 調用單個函數並行運行。 如果這個單一的函數確實使用了 windows 窗體上不同控件的更新,則可以從三個后台工作者調用該函數

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM