多线程
uweii
悟已往之不谏
知来者之可追
展开
-
FutureTask的用法
当你使用多线程时,比如你想用子线程执行一个耗时任务【比如说下载一个大文件】,在这个任务执行完之前,你还想接着干其他的事情【主线程响应其它事件】,然后当你需要这个子线程执行的结果时,拿到它。我们知道,创建线程的方式有两种:一种是实现Runnable接口,另一种是继承Thread。但这两种方式都无法获取执行后的结果。但是通过Callable接口和Future接口,我们可以拿到执行后的结果。Ca原创 2018-01-02 21:36:15 · 345 阅读 · 0 评论 -
Android之AsyncTask的使用
我们知道如果在UI线程(主线程)中执行耗时操作,比如说在 ui线程 里写一个 for循环,for(int i = 0; i < 100; i ++){ Thread.sleep(1000);}让主线程循环100次,每次都睡1秒,omg....就会出现ANR (Application not responding),也就是无法响应,不管你在屏幕如何点击滑动,程序没有任何响应,原创 2018-01-07 15:48:04 · 207 阅读 · 0 评论 -
Android线程池
Android中的线程池提到线程池就必须说一下线程池的好处,线程池的优点可以概括为以下三点:(1)重用线程池中的线程,避免因为线程的创建和销毁所带来的性能开销。(2)能有效控制线程池的最大并发数,避免大量的线程之间因互相抢占系统资源而导致的阻塞现象。(3)能够对线程进行简单的管理,并提供定时执行以及指定间隔循环执行等功能。Android中的线程池的概念来源于java中的Executor,Execu...原创 2018-03-23 11:13:08 · 169 阅读 · 0 评论 -
生产者消费者模式 - java
例子:生产者: 往一个公共的盒子里面放苹果消费者:从公共的盒子里面取苹果盒子:盒子的容量不能超过10方法一:Producer.java:public class Producer extends Thread{ private Test test; public Producer(Test obj){ this.test= obj;...原创 2019-03-29 23:48:17 · 150 阅读 · 0 评论