当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Thread start()用法及代码示例


线程类的 start() 方法用于开始线程的执行。此方法的结果是两个并发运行的线程:当前线程(从调用 start 方法返回)和另一个线程(执行其 run 方法)。

start()方法内部调用Runnable接口的run()方法,在单独的线程中执行run()方法指定的代码。

启动线程执行以下任务:

  • 它统计了一个新线程
  • 线程从 New State 移动到 Runnable 状态。
  • 当线程有机会执行时,它的目标 run() 方法将运行。

用法

public void start()

返回值

It does not return any value.

异常

IllegalThreadStateException - 如果多次调用 start() 方法,则会引发此异常。

示例 1:通过扩展线程类

public class StartExp1 extends Thread
{  
    public void run()
    {  
        System.out.println("Thread is running...");  
    }  
    public static void main(String args[])
    {  
        StartExp1 t1=new StartExp1();  
        // this will call run() method
        t1.start();  
    }  
}

输出:

Thread is running...

示例 2:通过实现 Runnable 接口

public class StartExp2  implements Runnable
{  
    public void run()
    {  
        System.out.println("Thread is running...");  
    }  
    public static void main(String args[])
    {  
        StartExp2  m1=new StartExp2 ();  
        Thread t1 =new Thread(m1);  
        // this will call run() method
        t1.start();  
    }  
}

输出:

Thread is running...

示例 3:多次调用 start() 方法时

public class StartExp3 extends Thread
{  
    public void run()
    {  
    System.out.println("First thread running...");  
    }  
    public static void main(String args[])
    {  
        StartExp3 t1=new StartExp3();  
        t1.start();  
        // It will through an exception because you are calling start() method more than one time 
        t1.start();  
    }  
}

输出:

First thread running...
Exception in thread "main" java.lang.IllegalThreadStateException
	at java.lang.Thread.start(Thread.java:708)
	at StartExp3.main(StartExp3.java:12)






相关用法


注:本文由纯净天空筛选整理自 Java Thread start() method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。