我正在尝试从我正在创建的线程中使用的类的run()方法中使线程进入睡眠状态,因此当它被调用时我正在接收线程并且我正在从eclipse接收和错误。目标只是多次测试代码并看到线程在不同时间输出,因为我知道选择要运行的线程并不是决定性的事情。
我的代码如下
package multithreading;
public class Mainclass {
public static void main(String[] args) {
run work= new run();
Thread thread = new Thread(work);
thread.start();
System.out.println("main thread is running");
}// end of main
}// end of class mainclass
这里是我正在创建上面的主要实例/对象的运行类
public class Run implements Runnable{// this is the beggining of the class
public void run(){
try {
thread.sleep(200);
}catch (InterruptedException ex) {
}
System.out.println("the second thread is running");
}// end of run method of the class run
}// end of class run
任何帮助都会得到很大的帮助
答案 0 :(得分:6)
sleep
是static
的{{1}}方法。 Java区分大小写。
尝试使用Thread
代替Thread.sleep
答案 1 :(得分:0)
听起来你的问题是一个简单的Java编译错误,并且很容易修复;请参阅@MadProgrammer的答案,
对于它的价值,你不应该使用sleep
来让事情在其他事情之前或之后运行。它不可靠,并且易于读取(低效)轮询或滞后,或两者兼而有之。
有更好的方法让一个线程等待其他事情发生......取决于你真正想做的事情。