👩🏽💻个人主页:阿木木AEcru
🔥 系列专栏:《Docker容器化部署系列》 《Java每日面筋》
💹每一次技术突破,都是对自我能力的挑战和超越。
目录
一、什么是线程?什么是多线程?
线程是程序执行流的最小单元,而多线程则是指在同一个程序中,可以同时运行多个线程,每个线程独立执行不同的任务。在多线程编程中,每个线程都拥有自己的执行栈和程序计数器,但它们共享程序的内存空间和其他资源。多线程可以提高程序的并发性和性能,允许程序在同时执行多个任务的情况下更有效地利用计算资源。
二、 基础创建线程的方式
创建线程的方式最常见的有继承Thread类、实现Runnable接口、实现Callable接口等。
实现Runnable接口和实现Callable接口的区别在于一个没有返回值,一个有返回值。
↓↓↓↓下面有示例,大家可以看看↓↓↓↓↓
- 使用继承Thread类的方式创建线程:
// 继承Thread类,重写run()方法
class MyThread extends Thread {
public void run() {
// 线程执行的任务
for (int i = 1; i <= 5; i++) {
System.out.println("线程通过继承Thread类方式执行,当前数字:" + i);
try {
Thread.sleep(1000); // 暂停1秒
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
public class Threadtest {
public static void main(String[] args) {
MyThread thread = new MyThread(); // 创建线程对象
thread.start(); // 启动线程
}
}
- 使用实现Runnable接口的方式创建线程:
// 实现Runnable接口,重写run()方法
class MyRunnable implements Runnable {
public void run() {
// 线程执行的任务
for (int i = 1; i <= 5; i++) {
System.out.println("线程通过实现Runnable接口方式执行,当前数字:" + i);
try {
Thread.sleep(1000); // 暂停1秒
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
public class Threadtest {
public static void main(String[] args) {
MyRunnable runnable = new MyRunnable(); // 创建实现了Runnable接口的对象
Thread thread = new Thread(runnable); // 创建线程对象,传入Runnable对象
thread.start(); // 启动线程
}
}
- 使用实现Callable的方式创建线程
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureT