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

jAvA多线程无限循环的问题

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

我测试了一下,这个判断语句是已经执行了,就在第一句语句之前进行的,不信可以把if判断去掉,程序就一句也不执行。说明什么,说明这个语句exit已经执行,不过,对于线程的终结应该是在线程的循环内部进行定义,在线程的外部限制,好像不合适。 ...

你可以设置一个全局变量,然后在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.跳回来继续...

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

while(true)是死循环,下面的语句均为不可达代码,故报错。和线程没有关系。

threadCount 加上锁就行了 要么是大于30 死循环了 要么是小于0死循环了。大于30那边可能性比较小,小于0那边可能性比较大。 可以在这2个地方打印日志验证一下

一个线程对象只能调用一次start方法.从new到等待运行是单行道,所以如果你对一个已经启动的线程对象再调用一次start方法的话,会产生:IllegalThreadStateException异常. 可以被重复调用的是run()方法。 Thread类中run()和start()方法的区别如下: ...

思路: 创建线程继承线程类或者实现线程接口 重写RUN方法 在RUN方法里面写FOR循环, 循环语句块中打印线程类的静态方法.currentThread().getName() +循环的自增值。 ,主线程创建自定义对象实例。 调用START()方法OK、。

帮你改了改,测试可行 public class ThreadTest1 extends Thread { private static int num = 0, n = 100; static ThreadTest1 t1, t2; static int i = 0; static int x; static String ss = new String(); public ThreadTest1() { start(); } p...

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