java - 创建和使用匿名 Runnable 类的最佳方式

标签 java multithreading runnable

我想为 Runnable 使用匿名类。有两种方法,但我不知道他们是否做同样的事情:

方法一:直接使用Runnable,然后调用run():

new Runnable() {
    @Override
    public void run() {
    }
}.run();

方法二:创建一个匿名Runnable并粘贴到Thread,使用start()方法代替run() :

new Thread(new Runnable() {
    @Override
    public void run() {
    }
}).start();

我认为方法二显然是正确的。但是,我不知道它是否与方法一做同样的事情。我们可以直接在 Runnable 上调用 run() 方法吗?

最佳答案

正如其他人所提到的,使用 Thread 类是正确的方法。但是,您还应该考虑使用 Java Executors处理正在运行的线程的框架。

Executors.newSingleThreadExecutor().execute(new Runnable() {
    @Override 
    public void run() {
        // code in here
    }
});

当然,直接使用Thread就可以了。但通常建议(或首选)使用该框架。让 Java 为您处理细节。

关于java - 创建和使用匿名 Runnable 类的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12771500/

相关文章:

java - Flutter 中的 Firebase (FCM) 注册 token

ios - Swift 2 - iOS - 分派(dispatch)回原始线程

python - Python 线程的工作原理

java.util.concurrent.ScheduledExecutorService 运行频率很低

java - 编辑 JRXML 时 i-report 3.7.6 错误

java - 如何在 Chrome 驱动程序中禁用 WebRTC?

java - Wedriver Windows 弹出窗口处理

ruby-on-rails - Rails 最佳实践 : background process/thread?

java - 将 Java ThreadFactory 创建的对象的所有引用置为 null 的方法

Java-异常处理