代码完成不休眠
来源: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循环的大括号补全,将休眠代码一并包裹起来之后,再尝试一下。
祝学习愉快~
相似问题