多线程及线程池

本文详细介绍了多线程的概念,包括线程进程和程序、守护线程与用户线程,以及多线程的实现方式和优缺点。讨论了线程安全的重要性,并深入讲解了线程池的工作原理和Java中的线程池实现,如Executors提供的四种线程池类型。文章还提到了Guava线程池和并发编程的相关知识点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

多线程

线程进程和程序

守护线程(Daemon Thread)和用户线程(User Thread)

为什么要学习多线程

如何实现多线程

多线程实现优缺点

线程生命周期

线程安全

什么是线程安全

怎么样才能线程安全

线程池

​​​为什么要用线程池

线程池的工作原理

Java通过Executors提供四种线程池

newCachedThreadPool

newFixedThreadPool

newScheduledThreadPool

newSingleThreadExecutor

Guava线程池


多线程

线程进程和程序

Java提供的多线程并发包在Java.util.concurrent包下。一个程序下至少有一个进程,一个进程下至少有一个线程(多个线程来增加程序的执行速度)。比如说迅雷软件,运行时后台就会生成一个进程,一个进程可以同时运行多个任务,下载多个文件,每个下载任务就是一个线程。

对于并行并发和串行

并行:多个处理器或多核处理器同时处理多个任务。并发:多个任务在同一个CPU核上,按细分的时间片轮流(交替)执行,表面上看任务是同时执行。串行:多个任务排队执行,一个执行完后下一个再执行。

守护线程(Daemon Thread)和用户线程(User Thread)

守护线程就是守护用户线程的,当用户线程全部执行完结束之后,守护线程才会跟着结束。守护线程必须伴随着用户线程,如果一个应用内只存在一个守护线程,没有用户线程,守护线程会自动退出。

//守护线程简单应用 create by xj on date 2022-02-21 20:14
public class test {
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

骆驼整理说

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值