关于线程循环执行

Cat1类内的输出语句会一直执行

Dog1类内的输出语句只会执行一次

/*
 * 功能:演示线程的注意事项
 */
package Demo14;

public class Demo14_4 {

	public static void main(String[] args) {
		Dog1 dog1 = new Dog1();
		dog1.run();
		Cat1 cat1 = new Cat1();
		cat1.start();
		
	}

}

//猫类
class Cat1 extends Thread {
	@Override
	public void run() {
		while (true) {
			try {
				Thread.sleep(100);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			System.out.println("11");
		}
	}
}

//狗类
class Dog1 implements Runnable {

	@Override
	public void run() {
		System.out.println("22");
	}
	
}

重点在于while语句,使得Cat1内的输出语句无限循环执行,如果想要限定次数可以定义变量在while内进行if判断,返回break即可停止

class Cat1 extends Thread {
	
	int time = 0;
	public void run() {
		while (true) {
			try {
				Thread.sleep(100);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			System.out.println("11");
			time++;
			if (time == 5) {
				break;
			}
		}
	}
}
输出五次后自动停止

猜你喜欢

转载自blog.csdn.net/xzy15047220045/article/details/80633406