java - java中使用runnable接口(interface)实现线程

标签 java

为什么我们必须创建一个类的实例并将其附加到新创建的线程对象,即使它们位于同一个类中?

import java.io.*;
class thread1 implements Runnable{

   public void run(){
       System.out.println("thread started");
   }

   public static void main(String args[]) throws Exception{
      Thread t1=new Thread(new thread1());
      t1.start();
   }
}

最佳答案

您不必创建 Runnable 来在新线程中执行自定义代码。也可以直接创建线程的子类。

public class WorkerThread extends Thread{

    @Override
    public void run() {
        // TODO Auto-generated method stub
        super.run();
        // DO SOMETHING
    }

}

public class MainClass {
    public static void main(String[] args){
        new WorkerThread().start();

        MainClass mc = new MainClass();
        mc.startThread();
    }

    private void startThread(){
        Thread t = new WorkerThread();
        t.start();
    }
}

关于java - java中使用runnable接口(interface)实现线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26464499/

相关文章:

java - ManagedProperty/Bean 注入(inject)导致 NullPointer

java - 在 Tomcat 中重新部署应用程序时发生内存泄漏

java - 如何在hadoop中将InputStream数据设置为FSDataInputStream

java - 我可以使用replaceFirst方法来查找字符串模式并替换它吗?

java - gradle 中的 'apply from' 是什么意思?

java - Android 中有类似 stringByAppendingPathComponent 的东西吗?

java - HttpServletRequest.getRemotePort() 在同一台机器上收到的每个 http 请求返回不同的端口?

java - 我可以使用类变量将 Httpservletrequest/response 对象传递给 run() 方法吗?

Java - 正则表达式查找代码中的注释

java - 根据最佳实践,我应该在哪里放置用于 GUI 测量的 JavaFX 常量?