怎么让一个线程一直运行

如题所述

第1个回答  推荐于2017-11-26
private void 修改方法()如上面的方式,我是不是应该把IndexThread() 修改成private void IndexThread(){while(flag){插入方法();Thread.Sleep(2000);// 间隔两秒修改方法();}}而flag 我在别的线程控制他的值。------解决方案--------------------------------------------------------private void IndexThread(){while(flag){插入方法();Thread.Sleep(2000);// 间隔两秒------解决方案--------------------------------------------------------你这样写的确会让线程一直运行到你不想让它运行为止但是,有一点,你使用的是While循环,那么这样写,必将导致你的程序占用CPU100%,不信可以去试试看。如果你不想CPU一直负载,也不想让线程运行一次就结束,那么你可以使用阻塞。system.threading 命名空间中有 AutoResetEvent 类。waitone可以让线程挂起等待信号,信号来了,继续往下走。set给出信号,让你wait的线程继续执行。public AutoResetEvent are = new AutoResetEvent(false);本回答被提问者采纳
相似回答