
多线程
uweii
悟已往之不谏
知来者之可追
展开
-
FutureTask的用法
当你使用多线程时,比如你想用子线程执行一个耗时任务【比如说下载一个大文件】,在这个任务执行完之前,你还想接着干其他的事情【主线程响应其它事件】,然后当你需要这个子线程执行的结果时,拿到它。 我们知道,创建线程的方式有两种:一种是实现Runnable接口,另一种是继承Thread。但这两种方式都无法获取执行后的结果。但是通过Callable接口和Future接口,我们可以拿到执行后的结果。 Ca原创 2018-01-02 21:36:15 · 368 阅读 · 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 · 243 阅读 · 0 评论 -
Android线程池
Android中的线程池提到线程池就必须说一下线程池的好处,线程池的优点可以概括为以下三点:(1)重用线程池中的线程,避免因为线程的创建和销毁所带来的性能开销。(2)能有效控制线程池的最大并发数,避免大量的线程之间因互相抢占系统资源而导致的阻塞现象。(3)能够对线程进行简单的管理,并提供定时执行以及指定间隔循环执行等功能。Android中的线程池的概念来源于java中的Executor,Execu...原创 2018-03-23 11:13:08 · 186 阅读 · 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 · 169 阅读 · 0 评论