JAVA多线程的四种方式 线程池详细解析
JAVA多线程四种方式
java中实现线程的4种方式:
- 1.继承Thread类 重写run方法
- 2.实现Runnable接口 实现run方法
- 3.继承Callable接口 实现call方法 使用futureTask调用 (有返回值/可处理异常)
[以上三种在平常业务代码种均不使用.]
[应该将所有的多线程异步任务都交给线程池执行]
-
4.线程池(线程复用;控制最大并发数;管理线程)
-
降低资源的消耗
- 通过重复利用已经创建好的线程降低线程的创建和销毁带来的损耗
-
提高响应速度
- 因为线程池中的线程数没有超过最大上限时,有的线程处于等待分配任务的状态,当任务来时无需创建新的线程就能执行
-
提高线程的可管理性
- 线程池会根据当前系统特点对池内的线程进行优化处理,减少创建和销毁线程带来的系统开销.无线的创建和销毁线程不仅小号系统资源,还降低系统的稳定性,使用线程池进行统一分配
-
1.继承Thread类 重写run方法
public class ThreadTest {
public static void main(String args[]){
System.out.println("main start ....");
// 1.继承Thread类 重写run方法
new Thread01().start();
System.out.println("main end ....");
}
public static class Thread01 extends Thread{
@Override
public void run() {
System.out.println("1.继承Thread类 重写run方法");
}
}
}
2.实现Runnable接口 实现run方法
public class ThreadTest {
public static void main(String args[]){
System.out.println("main start ....");
// 2.实现Runnable接口 实现run方法
new Thread(new Runnable01()).