Nic*_*ong 2 java multithreading
我收到一个错误:方法sleep(int)未定义Thread类型.我认为sleep方法在Java中的Thread类中.
import java.util.Random;
public class Thread implements Runnable {
String name;
int time;
Random r = new Random();
public Thread(String s){
name = s;
time = r.nextInt(999);
}
public void run() {
try{
System.out.printf("%s is sleeping for %d\n", name, time);
Thread.sleep(time);
System.out.printf("%s is done", name);
} catch(Exception e ) {
}
}
}
Run Code Online (Sandbox Code Playgroud)
sou*_*eck 18
你实现了自己的类调用Thread并尝试调用sleep它,失败了,因为sleep你的类中没有定义.你的课程基本上影响了java的Thread课程.
以不同方式打电话给你的班级(即,如owlstead所述,MyThread甚至更好MyRunnable)或java.lang.Thread.sleep()直接打电话.
它不在你的 Thread班上.
既然你命名了你的类Thread,那就是Java所寻找的Thread.sleep.如果您想要内置于Java中的函数,请尝试java.lang.Thread.sleep(time);.