一:前言
首先要理解多线程和JUC之前的关系。
Java中的多线程和JUC(java.util.concurrent包)是并发编程的核心组成部分,二者共同服务于并发,让并发处理更高效、安全,且易管理。
不同点:
1:多线程是Java并发的基础机制,提供线程创建,同步处理能力等。不足的是直接使用底层(如synchronized)可能导致竞争死锁等问题,且难以处理复杂的并发场景。
2:JUC则是在 Java 5 中引入的工具包,在多线程的基础上进行增强,提供更高效、简易的工具,避免直接处理底层复杂性。且通过线程池、锁分离等优化,显著降低性能开销,提高并发性能和安全性。
下面会将两个知识点分开描述,最后做整理总结。
二:多线程
Java多线程是语言的基础能力,允许程序同时执行多个任务。每个线程独立运行,共享进程的资源(如内存)。
1:多线程概念
多线程的目的是充分利用CPU的资源,提升响应速度。在以前使用单个线程时,多个请求需排队执行;使用多线程之后,可以在同一时间使用多个线程处理,提高并发量。
1:进程、线程、协程
首先了解进程、线程、协程的关系和区别,可以帮助我们从底层操作系统进一步理解多线程。
进程:
在操作系统中,进程是最基本的资源分配单位,可理解为正在执行