代码完成不休眠
来源:3-3 sleep方法的使用
Star3327752
2022-04-26 23:29:40
相关代码:
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回答
好帮手慕小蓝
2022-04-27
同学你好,同学代码中的for循环缺少大括号导致的问题。因为在缺少大括号时,仅for循环后的第一句代码会作为循环体,所以这里只有System.out.println(Thread.currentThread().getName()+"A");是在循环中的,而休眠代码没有在循环中,就会出现这样的问题。
建议同学将for循环的大括号补全,将休眠代码一并包裹起来之后,再尝试一下。
祝学习愉快~
相似问题