Java 线程

1、线程介绍
  1. 定义:CPU 执行的最小单元。
  2. 作用:并发操作提高系统并发性能。
  3. 状态:就绪、阻塞、运行 3种状态。
    在这里插入图片描述
2、线程分类
  1. 守护线程
    1、定义:守护用户线程的线程,为其它线程提供服务。
    2、如:垃圾回收线程。设置方式:thread.setDaemon(true)。
  2. 非守护线程 (用户线程):
    1、分类:主线程(UI线程)、子线程(工作线程)。
    2、主线程:Android系统在Android 程序启动时自动启动一条主线程。处理四大组件与用户交互的事件(UI/界面交互)。不允许进行耗时操作,否则会出现 ANR。
    3、子线程:手动创建的线程。执行耗时的操作(网络请求、I/O操作)。
  3. 守护线程 与 非守护线程区别
    1、所有用户线程结束,守护线程也会结束,虚拟机退出。
    2、有用户线程运行,守护线程也会运行,虚拟机不会退出。
3、线程优先级
  1. 线程优先级共 10 个级别。为 1-10 (Thread.MIN_PRIORITY-Thread.MAX_PRIORITY),默认为 5 (Thread.NORM_PRIORITY)。
  2. 设置方式:thread.setPriority(int grade)。
4、线程调度
  1. 调度方式:系统通过时间片轮转方式调度线程,就绪状态线程会进入线程队列等待CPU资源。
  2. 调度优先级:根据线程优先级(高(获得CPU资源概率大)->低(获得CPU资源概率小))将CPU资源分配给线程;相同级别线程轮流获取CPU资源。
5、线程同步
  1. 定义:其它线程必须等待另一线程执行完才能使用。
  2. 方式: Synchronized、锁。
6、线程联合

1.定义:线程A占有CPU资源期间,通过线程B.join()中断自身线程,然后执行联合线程B,直到线程B执行完成线程A再重新排队等待CPU资源,这个过程称做线程A联合线程B。

7、多线程介绍
  1. 定义:多个线程同时进行。
  2. 作用:主线程更新UI组建,子线程执行耗时操作。
  3. Android 多线程实现方式
    在这里插入图片描述
8、进程介绍
  1. 定义:系统进行资源分配和调度的一个独立单元。
  2. 作用:多个程序并发执行,提高系统资源的利用率和吞吐量。
  3. 进程状态:就绪状态、运行状态、阻塞状态、创建状态、结束状态。
    在这里插入图片描述
9、线程与进程区别
  1. 一个进程可以拥有多个线程。一个线程只能属于某个进程。
  2. 区别
类型定义作用资源通信
进程系统资源分配最小单元多进程提高系统资源利用率和吞吐量拥有独立资源多进程通信复杂
线程CPU执行的最小单元多线程提高系统并发性能共享进程资源多线程通信简单
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值