关闭

Android多线程编程

标签: androidjava多线程
289人阅读 评论(0) 收藏 举报
分类:

Java 5引入了一个多线程的新的写法,Future,Callable,Executor,三者的关系及用法如下:
Callable:
它是一个接口,用来产生数据,类似于Runnable接口,
在使用时,必须写一个类实现Callable接口,然后复写call()方法,在call里面对数据进行操作,并返回

public class SunnyTestTask implements Callable<String>{

private String name;
public SunnyTestTask(String value){
 this.name = value;
}

public String call(){
 return name;
}

}

Executor:
Executor,相当于一个管理类,用于管理所有并发的线程,即线程池,我们可以通过它来创建指定的线程池,

注意:线程池并不是创建越多越好,因为线程的开启与销毁,都要消耗内存。

然后开辟的线程池统一由ExecutorService服务来管理。

ExecutorService service = Executors.newFixedThreadPool(2);

Future:
是用来接收实现Callable接口类所产生的数据的。Future类的实例不用new,
通过服务来提交任务所得到,这里的服务即ExecutorSevice;

SunnyTestTask task1 = new SunnyTestTask("Sunny1");
SunnyTestTask task2 = new SunnyTestTask("Sunny2");
Future<String> mFuture1 = service.submit(task1);
Future<String> mFuture2 = service.submit(task2);

Log.i("Sunny","task1:"+mFuture1.get()+"\ntask2:"+mFuture2.get());

以上就是Future,Callable,Executor三者的关系及用法。。。

1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:63234次
    • 积分:1467
    • 等级:
    • 排名:千里之外
    • 原创:71篇
    • 转载:33篇
    • 译文:0篇
    • 评论:31条
    交流论坛
    感兴趣的朋友可以加我的QQ群,一起讨论学习,共同进步。
    qq群:341069861

    欢迎关注我的微信公众号,每天都会有优质技术文章推送,让我们一起学习,一起进步!
    微信
    感谢打赏
      感谢打赏 支付宝二维码
      支付宝
      感谢打赏 微信二维码
      微信
    博客专栏
    最新评论