2、进程和线程回顾
2.1. 什么是进程 /线程
进程 / 线程是什么?
进程:像 QQ.exe 、 Music.exe 、程序就是一个进程
线程:一个进程中可能包含多个线程,至少包含一个。JAVA至少包括两个线程:main和GC 线程。
2.2. 并发/并行是什么
并发 / 并行是什么?
并发编程? 并发。并行;
并发:多线程,多个线程操作一个资源类,CPU快速交替的执行。
并行:多核多CPU。多核多CPU可以并行执行。
举例:
你吃饭,吃到一半,电话来了,3种情况
1、吃完再去接电话 (单线程)
2、先接电话再吃(交替,也就是并发)
3、边吃边接电话(并行)
一个CPU 的电脑,能不能并行执行任务?
不能。必须在多核多CPU下才能并行执行。
CPU密集型、IO密集型,这两个概念后面再说。
所以说,并发编程的主要目的是:充分利用CPU的资源,提高性能!
2.3. 线程的状态
线程的状态
线程的状态有6种,是定义在Thread类中的枚举类State。
源码如下:
public enum State {
NEW