[英]Background worker while loop
我要創建的是一個后台工作器,每30秒執行一些進程。 但是我希望這個while循環在程序啟動后一直執行。 這是我正在使用的:
private void watcherprocess1()
{
backgroundWorker1.RunWorkerAsync();
}
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
while(
Thread.Sleep(30000);
specficView2();
makeFormlist2();
populateListview2();
}
我的主要問題是AI可以想到一個很好的while循環來保持運行
我認為來自Threading-Namespace的Timer更適合於此。 它將滴答異步,並且您可以從滴答事件中生成該過程。
你在找嗎
while(true)
使用System.Windows.Forms.Timer
我同意Bobby的觀點,即System.Threading.Timer(或System.Timers.Timer)可能最適合此工作。
但是,如果您必須創建一個使用工作線程的線程,那么我寧願為該任務專門創建一個線程。 在您的應用程序生存期內,運行BackGroundWorker(這是一個ThreadPool線程)是一個while循環,這對我來說並不理想。
也許是這樣的:
private void watcherprocess1()
{
Thread thread = new Thread(new ThreadStart(this.Work));
thread.IsBackground = true;
thread.Name = "My Worker.";
thread.Start();
}
private void Work()
{
while(true)
{
specficView2();
makeFormlist2();
populateListview2();
Thread.Sleep(30000);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.