是否有必要扩展线程类以使用sleep方法。

时间:2018-10-08 14:12:51

标签: java multithreading applet

所以我正在学习Java,在这里我有点困惑... 因此,在学习线程时,我了解到有必要扩展Thread类或实现Runnable类。 并且在执行此程序时,无需执行上述任何过程即可使用Thread.sleep()。

链接: http://www.abihitechsolutions.com/applets-mini-project-in-java-free-source-code/

有人可以告诉我发生了什么事吗?

3 个答案:

答案 0 :(得分:1)

实际上,通过使用Thread.sleep(X)您正在暂停执行时间X。

这适合将请求发送到服务器或数据库。没有人希望一次向数据库或服务器发送巨大的请求。

少量制作始终是合理的。您可以划分请求并通过等待指定的持续时间来发送它们。

这是Thread.sleep()的重要用法之一

有一种非常合适的方法来处理线程暂停,即等待/通知。我建议使用它。 您可以从那里检查; https://docs.oracle.com/javase/tutorial/essential/concurrency/guardmeth.html

答案 1 :(得分:0)

io.CopyThread.sleep()是一种static方法,因此您可以从任何地方调用它。

class RunMe implements Runnable {

    @Override
    public void run() {
        for (int i = 0; i < 100; i++) {
            System.out.println("Hello");
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}

请记住,所有Java代码都在线程中运行,因此可以在任何地方调用Thread.sleep()

答案 2 :(得分:-1)

之所以可以不实际创建线程就使用Thread.sleep的原因是,主程序也在线程上运行。您只是在主线程上调用sleep。当您调用Thread.sleep时,java将为您找出它实际在哪个线程上运行。