-1

我试图从我正在创建的线程中使用的类的 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

任何帮助将不胜感激

4

2 回答 2

7

sleep是一种static方法Thread。Java 区分大小写。

尝试使用Thread.sleep而不是thread.sleep

于 2013-08-08T04:39:54.697 回答
0

听起来您的问题是一个简单的 Java 编译错误,并且很容易修复;见@MadProgrammer 的回答,

对于它的价值,你不应该用它sleep来让事情在其他事情之前或之后运行。它不可靠,并且容易读取(低效)轮询或滞后,或两者兼而有之。

有更好的方法可以让一个线程等待其他事情发生……这取决于你真正想要做什么。

于 2013-08-08T04:38:30.690 回答