线程类的 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 stop()用法及代码示例
- Java Thread setDefaultUncaughtExceptionHandler()用法及代码示例
- Java Thread suspend()用法及代码示例
- Java Thread setContextClassLoader()用法及代码示例
- Java Thread sleep()用法及代码示例
- Java Thread setDaemon()用法及代码示例
- Java Thread setName()用法及代码示例
- Java Thread setPriority()用法及代码示例
- Java Thread toString()用法及代码示例
- Java Thread interrupted()用法及代码示例
- Java Thread destroy()用法及代码示例
- Java Thread holdLock()用法及代码示例
- Java Thread getContextClassLoader()用法及代码示例
- Java Thread getThreadGroup()用法及代码示例
- Java Thread isInterrupted()用法及代码示例
- Java Thread enumerate()用法及代码示例
- Java Thread notify()用法及代码示例
- Java Thread resume()用法及代码示例
- Java Thread activeCount()用法及代码示例
- Java Thread isDaemon()用法及代码示例
注:本文由纯净天空筛选整理自 Java Thread start() method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。