文章目录
- 简介
- 线程的创建和启动
- 线程池
- 线程组
- ForkJoinPool 分支/合并框架
- 线程的生命周期
- 多线程辅助类
- ThreadLocal
- 线程的同步(加锁)
- 锁的分类
- Atomic包
- synchronized锁膨胀
- AQS
- CAS
简介
多线程(multithreading),是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。具有这种能力的系统包括对称多处理机、多核心处理器以及芯片级多处理或同时多线程处理器。在一个程序中,这些独立运行的程序片段叫作“线程”(Thread),利用它编程的概念就叫作“多线程处理” 。
多线程使用场景
后台任务:
-
如定时向大量(100W以上)的用户发送邮件
-
定期更新配置文件
-
任务调度(如quartz)
-
一些监控用于定期信息采集
-
自动作业处理:比如定期备份日志、定期备份数据库。
-
异步处理:如发微博、记录日志。
-
页面异步处理:比如大批量数据的核对工作(有10万个手机号码,核对哪些是已有用户)。
-
数据库的数据分析(待分析的数据太多),数据迁移。
多线程的基本概念
串行/同步:一个一个执行
异步:一起执行
标签:重入,总结,Java,synchronized,ReentrantLock,线程,多线程,大全 From: https://blog.csdn.net/qq_45525848/article/details/142423269