Java多线程入门知识点梳理

前言

在多核时代,高并发时代,对系统并行处理能力有很高要求。多线程就是这个时代最好的产物。通过使用多线程可以增强系统并行处理能力,提高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.多线程的状态

猜你喜欢

转载自www.cnblogs.com/javajiuyangzhenjing/p/10259623.html