之前只是听说缓存,今天我自己也尝试了一下 ,运用了单例模式,我其实对这些都不是很熟悉,我就是学到哪记录到哪,如果有不对的地方,希望各位指教。
package com.silent.fuxiokhttpdemo;
import android.content.Context;
import java.io.File;
import java.io.IOException;
import okhttp3.Cache;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Interceptor;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
/**
* 单例类-懒汉式
* 1、私有化构造方法
* 2、提供私有的静态的本类变量
* 3、提供公有的静态的同步方法,并且返回值是本类对象
* 判断本类变量指向的对象是否为空,如果为空则创建对象
*
*
* 现有线程A,B
* A.start():进入就绪状态:相当于跑步时在起跑线上的准备
* B.start():进入就绪状态:相当于跑步时在起跑线上的准备
* A,B争夺CPU的执行权
* A先争夺上CPU执行权-》进入运行状态-》OkHttpUtils2.getInstance->if (utils2==null)
* B争夺上CPU执行权->进入运行状态-》OkHttpUtils2.getInstance-》if (utils2==null) utils2 = new OkHttpUtils2();
* A又争夺上CPU的执行权->进入运行状态-》utils2 = new OkHttpUtils2(); return utils2;-》run方法执行完成-》线程进入死亡状态
* B争夺上CPU的执行权-》进入