线程基础知识

1.介绍

1.1定义

一个基本的CPU执行单元 程序执行流的最小单元

组成 线程ID + 程序计数器 + 寄存器集合 + 堆栈

线程自己不拥有系统资源,与其他线程共享进程所拥有的全部资源

1.2 作用

减少程序在并发执行时所付出的时空开销,提高操作系统的并发性能

2.线程分类

守护线程 非守护线程(用户线程)

2.1 守护线程

守护用户线程的线程,即在程序运行时为其他线程提高一种通用服务
如 垃圾回收线程

thread.setDaemon(true); 设置为守护线程

2.2 非守护线程(用户线程)

主线程 子线程
a. 主线程(UI线程)
Android 系统在程序启东时会自动自动一条主线程
处理四大组件与用户进行交互的事件
因为用户随时会与界面发生交互,因此主线程任何时候都必须保持很高的响应速度,所以主线程不允许进行耗时操作,否则会出现ANR
b. 子线程(工作线程)
手动创建的线程
耗时的操作

2.3 守护线程和非守护线程的区别

只要还有任何用户线程在运行,守护线程就不会终止

3.多线程的实现方式

image.png

4.线程联合

线程A在占用CPU资源期间,通过调用join()方法中断自身线程执行,然后运行联合它的线程B,直到线程B执行完毕后线程A再重新排队等到CPU资源,称为线程A联合线程B

5.进程

是进程实体的运行过程
系统进行资源分配和调度的一个独立单元
使多个程序可并发执行 以提高系统的资源利用率和吞吐量

image.png
image.png
image.png

你可能感兴趣的:(线程基础知识)