怎么让一个线程一直运行

 我来答
女人别太假290
2013-10-17 · 超过62用户采纳过TA的回答
知道答主
回答量:130
采纳率:0%
帮助的人:148万
展开全部
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);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式