欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java多线程入门知识点梳理

程序员文章站 2022-03-20 19:22:36
前言 在多核时代,高并发时代,对系统并行处理能力有很高要求。多线程就是这个时代最好的产物。通过使用多线程可以增强系统并行处理能力,提高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.多线程的状态