0.学习方法
源码+官方文档:
其实官方文档就是源码编译出来的,其本质还是看源码,不过文档会比较方便学习
- 只有多看源码,多研究文档才会进步
- Java英文文档可以通过点击查看源码获取
- Java1.8中文文档(中文 – 谷歌版)
- 在线版: https://blog.fondme.cn/apidoc/jdk-1.8-google/
- 下载链接: https://pan.baidu.com/s/10wTC1F_4EUPsHzrn-_sPTw 密码:k7rm
1.什么是JUC
JUC其实就是Java.Util.concurrent包的缩写
java.util.concurrent
java.util.concurrent.atomi
java.util.concurrentlocks
是 java.util 工具包、包、分类
- 回顾开启线程的三种方式:
Thread
Runnable
Callable
2.线程与进程
线程、进程,如果不能使用一句话说出来的技术,不扎实!
打开(Win10)任务管理器可以清楚看到执行的线程与进程:
参考博客:什么是线程?什么是进程
进程:
- 官方定义:
进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配的基本单位,是操作系统结构的基础
- 简单理解:
进行(运行)中的程序,如打开任务管理器后中各种.exe程序
线程:
- 官方定义:
线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。
- 简单理解:
线程是真正执行资源调度(使程序跑起来)的主体,一个进程往往可以包含多个线程,但至少包含一个线程。
如:开一个idea进程,其中至少有—> 线程1:输入代码,线程2:自动保存