Java多线程入门知识点梳理
2024-10-21 16:03:55
前言
在多核时代,高并发时代,对系统并行处理能力有很高要求。多线程就是这个时代最好的产物。通过使用多线程可以增强系统并行处理能力,提高CPU资源的有效利用;从而提高系统的处理能力。常见应用场景如:多窗口售票、生产消费模式、异步提交信息(如日志、发送消息),只要系统需要并行任务处理的场景都可以考虑使用多线程。当然它也有缺点,线程由CPU调度、程序员无法干涉、多线程的随机性,这就会增加不可控性,得出的数据重复、错乱等现象。。。这篇文章是从关键点上进行整理。。。后续会针对相关关键点制作相关系列文章。。。想了解多线程相关可以关注后续。。。
关键点如下:
1.并发、并行
2.进程、线程
3.Runable、Callable
4.线程同步:synchronized、Lock
5.线程协作:wait、notify、notifyAll
6.FutureTask
7.Thread
8.ExecutorService、Executors
9.入门案例:购票案例
10.atomic包:原子操作
11.线程协作应用:交叉打印案例
12.阻塞队列:BlockingQueue、ArrayBlockingQueue、LinkedBlockingQueue
13.阻塞队列应用:生产、消费模式案例
14.并发容器:ConcurrentHashMap、ConcurrentLinkedQueue、CopyOnWriteArrayList、ConcurrentSkipListMap
15.CAS:无锁操作保证线程安全
16.volatile:保证线程间可见性
17.JMM模型
18.多线程的随机性
19.多线程的状态
最新文章
- C# 中Switch case 返回不止用break
- 搜索框(Thinkphp5.0)
- 春节快乐!推荐一个关于 SharePoint 和 BI 的视频,笑死我了
- 如何卸除SDL TRADOS中的自开发插件
- Linux Strip
- acdream1116 Gao the string!(扩展KMP)
- 配置SQL Server 2008 R2 Reporting Services
- cygwin,在win中开发linux程序
- FatMouse's Speed 基础DP
- 使用sklearn进行数据挖掘-房价预测(4)—数据预处理
- 【Android 应用开发】Android游戏音效实现
- Spark 1.x 爆内存相关问题汇总及解
- 基于OpenCV的图书扫描识别程序开发
- jQuery 常用效果
- Python使用base64编码的问题
- delphi批量存入多媒体字段 遇到内存溢出的坑
- bzoj 4539 [Hnoi2016]树——主席树+倍增
- 920. Number of Music Playlists
- 手机游戏运营主要的指标是什么? 7天活跃, 14天活跃 ARPU ?如何提升游戏 app 的虚拟道具的收入?
- HTML5游戏开发系列教程6(译)