代码完成不休眠

代码完成不休眠

相关代码:

package 第67周;
class PrintRunnable implements Runnable{

	@Override
	public void run() {
		// TODO 自动生成的方法存根
		for(int i=0;i<10;i++)
		System.out.println(Thread.currentThread().getName()+"A");
		try {
			Thread.sleep(3000);
		} catch (InterruptedException e) {
			// TODO 自动生成的 catch 块
			e.printStackTrace();
		}
	}
	
}
class PrintRunnable2 implements Runnable{

	@Override
	public void run() {
		// TODO 自动生成的方法存根
		for(int i=0;i<10;i++)
		System.out.println(Thread.currentThread().getName()+"B");
		try {
			Thread.sleep(3000);
		} catch (InterruptedException e) {
			// TODO 自动生成的 catch 块
			e.printStackTrace();
		}
	}
	
}

public class Runnable接口创建线程 {
	
	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		int i=0;
		PrintRunnable pr =new PrintRunnable();
		Thread t1=new Thread(pr);
		t1.start();
		
		PrintRunnable2 pr2 = new PrintRunnable2();
		Thread t2 = new Thread(pr);
		t2.start();
		

	}

}

问题描述:我的代码两秒钟就进行完了,为啥啊。。

相关代码:

package 第67周;
class PrintRunnable implements Runnable{

	@Override
	public void run() {
		// TODO 自动生成的方法存根
		for(int i=0;i<10;i++)
		System.out.println(Thread.currentThread().getName()+"A");
		try {
			Thread.sleep(3000);
		} catch (InterruptedException e) {
			// TODO 自动生成的 catch 块
			e.printStackTrace();
		}
	}
	
}

public class Runnable接口创建线程 {
	
	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		PrintRunnable pr =new PrintRunnable();
		Thread t1=new Thread(pr);
		t1.start();
		Thread t2 = new Thread(pr);
		t2.start();
		

	}

}

这两种代码都不行

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小蓝 2022-04-27 09:57:22

同学你好,同学代码中的for循环缺少大括号导致的问题。因为在缺少大括号时,仅for循环后的第一句代码会作为循环体,所以这里只有System.out.println(Thread.currentThread().getName()+"A");是在循环中的,而休眠代码没有在循环中,就会出现这样的问题。

建议同学将for循环的大括号补全,将休眠代码一并包裹起来之后,再尝试一下。

祝学习愉快~


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师