摘要:
1. 线程的状态 Java程序在运行过程中线程可能有6种状态: New:新创建状态; Runnable:可运行状态; Blocked:阻塞状态; Waiting:等待状态; Timed waiting:超时等待状态; Terminated:终止状态; 2. 线程同步 1. 加锁与条件变量 Lock/ 阅读全文
摘要:
1. Java线程 2. Java线程安全 3. 多线程与线程间通信 4. Java 线程池ThreadPoolExecutor类 5. Java线程与线程池进阶 阅读全文
摘要:
1. 什么是线程安全? 可变资源(内存)间线程共享。 2. 如何实现线程安全? 不共享资源; 共享不可变资源; 共享可变资源: 可见性; 操作原子性; 禁止重排序; 1. 不共享资源 1. 可重入函数:函数体内部不涉及任何外部变量; // 可重入函数 public static int addTwo 阅读全文
摘要:
1. 如何停止一个线程? 官方停止线程的方法被废弃了,所以不能直接停止线程,这么做是非常不安全的。 2. 为什么不能简单停止一个线程? 因为,简单停止一个线程会出现很多异常情况,比如:多线程读取共享变量时,其中一个线程加锁了,其它线程处于等待状态,如果,将加锁线程暂停了,那么其它线程就会被堵塞在这里 阅读全文
摘要:
一、ProcessLifeCycleOwner是什么? 用于监听App程序的生命周期。 二、示例 ApplicationObserver类: class ApplicationObserver: LifecycleObserver { } DemoApplication类: class DemoAp 阅读全文
摘要:
一、LifecycleService的用途? 解耦系统组件Service的生命周期。 LifecycleService继承自Service。 二、示例 MyServiceObserver类: class MyServiceObserver : LifecycleObserver { } MyServ 阅读全文
摘要:
一、Lifecycle是什么? Lifecycle生命周期感知组件,可执行操作响应另一个组件(Activity或者Fragment)的生命周期状态。 二、Lifecycle出现的背景 用于解耦系统组件与其它组件的生命周期。 三、示例 App中都有开屏广告,在开屏广告右上角一个倒计时功能。倒计时功能需 阅读全文
摘要:
一、Jetpack之前使用哪些架构? 在Jetpack之前,Android是没有官方的标准架构,大家使用架构从MVC演化到MVP及MVVM架构。 二、Jetpack是什么? Jetpack 是一个由多个库组成的套件,可帮助开发者遵循最佳做法、减少样板代码并编写可在各种 Android 版本和设备中一 阅读全文