Java Thread start() 方法



描述

Java Thread start() 方法启动该线程的执行,Java虚拟机将调用该线程的run方法。结果是两个线程并发运行:当前线程(从对start方法的调用返回)和另一个线程(执行其run方法)。

声明

以下是java.lang.Thread.start() 方法的声明

public void start()

参数

返回值

此方法不返回值。

异常

IllegalThreadStateException − 如果线程已经启动。

示例:启动实现Runnable接口的线程

以下示例显示了Java Thread start() 方法的用法。在这个程序中,我们通过实现Runnable接口创建了一个线程类ThreadDemo。在构造函数中,使用new Thread创建了一个新线程。使用start()启动线程,当线程被调度运行时,它将依次调用run()方法。

package com.tutorialspoint;

public class ThreadDemo implements Runnable {

   Thread t;
   ThreadDemo() {
    
      // thread created
      t = new Thread(this, "Admin Thread");
     
      // prints thread created
      System.out.println("thread  = " + t);
      
      // this will call run() function
      System.out.println("Calling run() function... ");
      t.start();
   }

   public void run() {
      System.out.println("Inside run() function");
   }

   public static void main(String args[]) {
      new ThreadDemo();
   }
} 

输出

让我们编译并运行上面的程序,这将产生以下结果:

thread = Thread[Admin Thread,5,main]
Calling run() function...
Inside run() function

示例:启动继承Thread类的线程

以下示例显示了Java Thread start() 方法的用法。在这个程序中,我们通过继承Thread类创建了一个线程类ThreadDemo。在构造函数中,使用new Thread创建了一个新线程。使用start()启动线程,当线程被调度运行时,它将依次调用run()方法。

package com.tutorialspoint;

public class ThreadDemo extends Thread {

   Thread t;
   ThreadDemo() {
    
      // thread created
      t = new Thread(this, "Admin Thread");
     
      // prints thread created
      System.out.println("thread  = " + t);
      
      // this will call run() function
      System.out.println("Calling run() function... ");
      t.start();
   }

   public void run() {
      System.out.println("Inside run() function");
   }

   public static void main(String args[]) {
      new ThreadDemo();
   }
} 

输出

让我们编译并运行上面的程序,这将产生以下结果:

thread = Thread[Admin Thread,5,main]
Calling run() function...
Inside run() function
java_lang_thread.htm
广告