圈出BackgroundWorker,圈出时我想创建的是一个后台工作者程序,每30秒执行一些进程。但是,我希望这个while循环在程序启动时立即执行。这是我正在使用的:privatevoidwatcherprocess1(){backgroundWorker1.RunWorkerAsync();}privatevoidbackgroundWorker1_DoWork(objectsender,DoWorkEventArgse){while(Thread.Sleep(30000);specficView2();makeFormlist2();populateListview2();}我的主要问题是我可以想出一个好的while循环来保持运行你在找什么?while(true)我认为Threading-Namespace中的Timer对此会更好。它会勾选异步,你可以从ProcessesarespawnedinTick-Event中获取它。我同意Bobby的System.Threading.Timer(或System.Timers.Timer)可能最适合这项工作。但是如果你必须创建一个工作线程来使用,我宁愿专门为此任务A创建它。运行BackGroundWorker(它是一个ThreadPool线程)是一个while循环,在您的应用程序的生命周期内对我不起作用。也许是这样的:privatevoidwatcherprocess1(){Threadthread=newThread(newThreadStart(this.Work));thread.IsBackground=true;thread.Name="我的工人。";线程。开始();}privatevoidWork(){while(true){specficView2();makeFormlist2();populateListview2();线程.睡眠(30000);如果权势分享的所有内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
