异步
文章平均质量分 75
m0_37588684
Android初级民工
展开
-
threadLocal
threadLocal简单使用:public class ThreadLocalTest { public static final ThreadLocal<String> holder = new ThreadLocal<>(); public static void set(){ new Thread(() -> { ThreadLocal<String> holder1 = new Thre原创 2021-03-26 10:00:43 · 54 阅读 · 0 评论 -
线程池
1.什么情况使用线程池通常需要执行多个任务,每个任务的执行时间比较短。例如:listView,GridView,RecyclerView等,每个子条目进入到屏幕时会执行一个任务为子条目进行赋值,当进行滑动同时有多个子条目进入屏幕,每个子条目的具体内容需要网络请求,这时就需要使用线程池进行请求。原创 2017-06-07 15:02:32 · 270 阅读 · 0 评论 -
AsyncTask
AsyncTask是一个抽象的泛型类,它提供了三个参数。其中Params表示在执行AsyncTask时所需要输入的参数类型例如:URL类型,Progress表示后台任务执行的进度的类型例如:Integer,Result表示后台任务的返回结果的类型例如:Boolean,如果不需要传入具体参数则都可以使用Void代替。public abstract class AsnycTask<Params,Prog原创 2017-07-09 22:55:26 · 183 阅读 · 0 评论 -
RxJava操作符
RxJava操作符类型分为:创建操作符、变换操作符、过滤操作符、组合操作符、错误处理操作符、条件和布尔操作符、算术和聚合操作符及连接操作符等,官方文档:http://reactivex.io/RxJava/javadoc/1.创建操作符:create、just、from、defer、range、interval、start、repeat、timer等 Interval操作符返回一个Observ原创 2017-08-06 16:56:26 · 246 阅读 · 0 评论 -
线程的创建、终止
多线程程序在较低的层次上扩展了多任务的概念:一个应用程序同时可以执行多个任务,通常每个任务称作一个线程;例如:一个浏览器可以同时下载几幅图片,一个人web服务器同时处理几个并发请求。线程的创建:class MyThread extends Thread{ public void run(){ task code }}MyThread myThread = new MyThr原创 2017-08-13 13:32:46 · 175 阅读 · 0 评论 -
RxJava基本用法
说到异步操作,通常Android会使用Handler和AsyncTask,但是随着请求的数量越来越多,逻辑越来越复杂,RxJava依然能保持比较清晰的逻辑。RxJava就是创建一个Observable对象,通过各种操作符把想要处理的数据加工成想要的成品,然后发射给Subscriber。使用前在Android Studio配置gradle compile 'io.reactivex:rxandroid原创 2017-07-23 18:03:37 · 473 阅读 · 0 评论 -
线程同步
在多数线程应用中,两个或两个以上的线程需要共享对同一个数据的存取,如果两个线程存取相同的对象,并且每一个线程都调用了修改该对象的方法,这种情况通常被称为竞争条件。package Thread;class Bank{ public final double[] accounts; public Bank(int n,double initialBlance){ acco原创 2017-08-20 12:04:02 · 160 阅读 · 0 评论 -
volatile关键字
1.JAVA内存模型 java内存模型规定了所有的变量都储存在主内存中,这里的变量包含:成员变量、静态变量、数组等存在堆中可被共享的元素,但是不包括局部变量和方法参数,因为后者是线程私有的不会被共享,不存在竞争问题。每条线程都有自己的工作内存,线程的工作内存保存了被该线程使用到的变量的主内存副本的拷贝,线程对变量的所有操作(读取、赋值等)都必须工作内存中,而不能直接读写主内存中的变量。不同线程之间原创 2017-09-03 21:03:55 · 141 阅读 · 0 评论