java开启线程的方式有哪几种
Java开启线程的方式有以下几种:
1. 继承Thread类:定义一个类,继承自Thread类,并重写run()方法,然后创建该类的对象,通过调用对象的start()方法来启动线程。
示例代码:
```java
class MyThread extends Thread {
public void run() {
// 线程履行的代码
}
}
public class Main {
public static void main(String[] args) {
MyThread thread = new MyThread();
thread.start();
}
}
```
2. 实现Runnable接口:定义一个类,实现Runnable接口,并实现其run()方法,然后创建Thread对象,将Runnable对象作为参数传入Thread的构造函数,最后通过调用Thread对象的start()方法来启动线程。
示例代码:
```java
class MyRunnable implements Runnable {
public void run() {
// 线程履行的代码
}
}
public class Main {
public static void main(String[] args) {
MyRunnable runnable = new MyRunnable();
Thread thread = new Thread(runnable);
thread.start();
}
}
```
3. 使用匿名类:可以直接使用匿名类来创建线程,并重写其run()方法。
示例代码:
```java
public class Main {
public static void main(String[] args) {
Thread thread = new Thread() {
public void run() {
// 线程履行的代码
}
};
thread.start();
}
}
```
4. 使用线程池:使用Java提供的线程池来管理线程的创建和烧毁。可以通过Executors类的静态方法来创建区分类型的线程池。
示例代码:
```java
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class Main {
public static void main(String[] args) {
ExecutorService executor = Executors.newFixedThreadPool(5);
executor.execute(new Runnable() {
public void run() {
// 线程履行的代码
}
});
executor.shutdown();
}
}
```
上述是经常使用的几种开启线程的方式,根据实际需求选择合适的方式。
TOP