Java - Thread 类型的 sleep(int) 方法未定义

标签 java multithreading

我收到错误:Thread 类型的 sleep(int) 方法未定义。我以为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 ) {
        }
    }
}

最佳答案

您实现了自己的名为 Thread 的类,并尝试在其上调用 sleep,但失败了,因为 sleep 在您的类中未定义。你的类基本上隐藏了java的Thread类。

以不同的方式调用你的类(即MyThread或者更好的MyRunnable,如owlstead所述)或调用java.lang.Thread.sleep() 直接。

关于Java - Thread 类型的 sleep(int) 方法未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8591703/

相关文章:

asp.net - HttpModule 是否在工作线程之间共享?

java - 带有对象的ArrayList,查找重复的对象字段

java - 覆盖公历中的 tostring 方法

java - 方法类型的 Spring REST 最佳实践

ruby - Thread#raise 在 MRI Ruby 1.9/2.0 中安全吗?

multithreading - .NET - 多个计时器实例意味着多个线程?

java - 转储 H2 插入语句

java - Drools:在一段时间内为组中的每个事实触发一个事件

java - 从某些示例线程代码中获取 RuntimeException

java - 如何在 Java5 中的 ThreadPoolExecutor 中对核心线程应用超时