Java多线程入门知识点梳理
程序员文章站
2022-07-05 15:46:45
前言 在多核时代,高并发时代,对系统并行处理能力有很高要求。多线程就是这个时代最好的产物。通过使用多线程可以增强系统并行处理能力,提高CPU资源的有效利用;从而提高系统的处理能力。常见应用场景如:多窗口售票、生产消费模式、异步提交信息(如日志、发送消息),只要系统需要并行任务处理的场景都可以考虑使用 ......
前言
在多核时代,高并发时代,对系统并行处理能力有很高要求。多线程就是这个时代最好的产物。通过使用多线程可以增强系统并行处理能力,提高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.多线程的状态
上一篇: Python 装饰器你也会用