Android多线程编程

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三者的关系及用法。。。

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011153817/article/details/49934251
文章标签: android java 多线程
个人分类: 《Java网络编程》
想对作者说点什么? 我来说一句

C++面向对象多线程编程(PDF)

2007年03月23日 18.75MB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭