shwq.net
当前位置:首页 >> jAvA多线程无限循环的问题 >>

jAvA多线程无限循环的问题

这个问题我建议你在while中加入一个检查的语句,比如下面的 while(true){ if(x>0){ System.out.println(x--); } System.out.println("**"); //这块地方,你可以加点什么,让程序打印出内容,用以判断 } 你这样试下后你就会发现问题的,推荐你动...

你的run()方法里面,while (isRunning == true) {}一直在运行,等于把isRunning这个变量给锁死了,所以main()方法里thread.setRunning(false);其实是赋值失败的。所以一直在循环。 你的意思是想要程序在1秒后停止对吧,while改成这样: while (i...

你可以设置一个全局变量,然后在wile(true)中循环不断 的多线程,并进行判断全局变量,按下按钮的时候对全局变量进行传值进行改变,如果怕线程断不了,可以将线程放入一个集合,全部断掉

public class TestInterrupt {public static void main(String[] args) {MyThread mt = new MyThread();mt.start();try {Thread.sleep(1000);//1.main线程sleep,跳到mt线程。System.out.println(Thread.currentThread().getName()//4.跳回来继续...

找到一个特定的条件break就可以。

package com.tarena.fly; public class asdfsd { public static void main(String[] args) { final Thread t1 = new Thread(){ public void run(){ int i = 0; while(i

java多线程并发问题产生的主要原因是多个线程访问一个实例,导致其中一个线程修改或删除这个实例时,其他线程产生并发问题。 要解决这种并发问题有两种方法: (1)加上线程锁synchronization (2)还有个不是办法的办法:不用成员变量,用局部变量

兄弟 你的问题没看明白 每一个线程一个循环? 一个线程一直在执行 不就是一个死循环,你要一直输出就输出就好了,然后停止线程 就结束循环了

如果在while循环中,不加跳出或程序无异常,是无法停止的,除非内存溢出。导致整个程序瘫掉

应该是 addActionListener(this) 不是 null 吧 如果需要响应按钮事件,你需要添加 ActionListener 接口,并且需要 public void actionPerformed(ActionEvent ___) 这个方法,然后把 while 整段代码放进这个方法里就好了。

网站首页 | 网站地图
All rights reserved Powered by www.shwq.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com