当需要创建线程时,Java提供了两种方式:使用Thread类创建线程和实现Runnable接口创建线程。下面我们分别讲解这两种方式的使用方法。
1. 使用Thread类创建线程
Thread类是Java中用于创建和操作线程的基本类。使用Thread类创建线程可以直接关联想要启动的线程代码,并通过start()方法启动新线程。
示例1:继承Thread类创建线程
public class MyThread extends Thread {
@Override
public void run() {
// 线程代码
System.out.println("Thread " + Thread.currentThread().getName() + " is running.");
}
public static void main(String[] args) {
MyThread thread = new MyThread();
thread.start();
}
}
在这个示例中,我们首先定义了一个继承Thread类的MyThread类,并覆盖了run()方法,run()方法中为线程执行的代码。在main()方法中,我们创建了一个MyThread类的对象并通过start()方法启动新线程。
示例2:使用匿名内部类创建线程
public class Main {
public static void main(String[] args) {
new Thread(new Runnable() {
@Override
public void run() {
// 线程代码
System.out.println("Thread " + Thread.currentThread().getName() + " is running.");
}
}).start();
}
}
在这个示例中,我们首先创建了一个实现了Runnable接口的匿名内部类,并重写了run()方法。在main()方法中,我们新建了一个Thread对象,并通过传入一个实现了Runnable接口的匿名内部类对象来启动新线程。
2. 实现Runnable接口创建线程
实现Runnable接口创建线程是Java中常用的创建线程的方式之一。使用这种方式时,我们可以将线程代码放在一个实现了Runnable接口的类中,并在创建线程对象时将这个类作为参数传入Thread构造函数中。
示例1:实现Runnable接口创建线程
public class MyRunnable implements Runnable {
@Override
public void run() {
// 线程代码
System.out.println("Thread " + Thread.currentThread().getName() + " is running.");
}
public static void main(String[] args) {
Thread thread = new Thread(new MyRunnable());
thread.start();
}
}
在这个示例中,我们首先定义了一个实现了Runnable接口的MyRunnable类,并覆盖了run()方法,run()方法中为线程执行的代码。在main()方法中,我们创建了一个Thread对象,并通过传入一个MyRunnable类的对象来启动新线程。
示例2:使用Lambda表达式创建线程
public class Main {
public static void main(String[] args) {
new Thread(() -> {
// 线程代码
System.out.println("Thread " + Thread.currentThread().getName() + " is running.");
}).start();
}
}
在这个示例中,我们使用Lambda表达式创建了一个Runnable接口的实现类,并在其中重写了run()方法,然后创建了一个Thread对象并启动新线程。
以上就是Java创建线程的两种方式的完整攻略,希望对您有帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java创建线程的两种方式 - Python技术站