首先明确,根据oracle官方文档,创建多线程主要分为两种方式(虽然网上各种答案都有,但这里以oracle文档为准),实现Runnnable接口、继承Thread类。下面对这两种方法做出详细解释
实现Runnable接口
实现Runnable接口的步骤可以分为以下四步
1.定义一个任务类实现Runnable接口,实现Runnable接口中的run()方法(run()方法告知系统线程该如何运行),run()方法中定义具体的任务代码或处理逻辑。
2.定义了任务类后,为任务类创建一个任务对象。
3.任务必须在线程中执行,创建一个Thread类的对象,将前面创建的实现了Runnable接口的任务类对象作为参数传递给Tread类的构造方法。
4.调用Thread类对象的start()方法,启动一个线程。它会导致任务的run()方法被执行,当run()方法执行完毕,则线程就终止。
具体代码如下:
package threadcoreknowledge.createthreads;
/**
* 用runnable方式创建线程
*/
//第一步,定义一个任务类(这里是RunnableStyle类)实现Runnable接口
public class RunnableStyle implements Runnable {
@Override
public void run(){
System.out.println("用runnable实现多线程!");
}
public static void main(String[] args) {
//第二步,为任务类(这里是RunnableStyle类)创建一个thread对象
//第三步,将创建的Runnable接口的人物类对象作为参数传递给Thread类的构造方法
Thread thread = new Thread(new RunnableStyle());
//第四步,调用thread类的start()方法,启动一个线程,它会导致任务run()方法被执行,当run()方法执行完毕,则线程就终止
thread.start();
}
}