当前位置:首页 > 开发 > 编程语言 > 多线程 > 正文

java 线程池使用 Runnable&Callable&Future

发表于: 2014-09-22   作者:antlove   来源:转载   浏览:
摘要: 1. 创建线程池 ExecutorService executorService = Executors.newCachedThreadPool();   2. 执行一次线程,调用Runnable接口实现 Future<?> future = executorService.submit(new DefaultRunnable()); System.out.prin

1. 创建线程池

ExecutorService executorService = Executors.newCachedThreadPool();

 

2. 执行一次线程,调用Runnable接口实现

Future<?> future = executorService.submit(new DefaultRunnable());
System.out.println(future.get());

 当线程池执行Runnable后,返回的Future.get()总是null

 

DefaultRunnable代码如下:

package threadpool;

public class DefaultRunnable implements Runnable {
	private int count = 1;
	
	@Override
	public void run() {
		System.out.println("the count in default runnable is ["+count+++"]");
	}

}

 

3. 执行一次线程,调用Callable接口实现

Future<?> future = executorService.submit(new DefaultCallable());
System.out.println(future.get());

 当线程池执行Callable时,返回的Future.get() 会返回Callable的返回值

 

DefaultCallable代码如下:

package threadpool;

import java.util.concurrent.Callable;

public class DefaultCallable implements Callable<Object> {
	private int count =1;
	
	@Override
	public Object call() throws Exception {
		
		return count++;
	}

}

 

4. 关闭线程池

executorService.shutdown();

 

java 线程池使用 Runnable&Callable&Future

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
在Jdk1.5之后加入了java.util.concurrent包,这个包中主要介绍java中线程以及线程池的使用。为我们
1. 为什么要用线程池? 在Java中,如果每当一个请求到达就创建一个新线程,开销是相当大的。在实际
Java通过Executors提供四种线程池,分别为: newCachedThreadPool创建一个可缓存线程池,如果线程池
Java通过Executors提供四种线程池,分别为: newCachedThreadPool创建一个可缓存线程池,如果线程池
Java通过Executors提供四种线程池,分别为: newCachedThreadPool创建一个可缓存线程池,如果线程池
http://cuisuqiang.iteye.com/blog/2019372 Java通过Executors提供四种线程池,分别为: newCachedTh
Java通过Executors提供四种线程池,分别为: newCachedThreadPool创建一个可缓存线程池,如果线程池
【原帖:http://www.uml.org.cn/j2ee/201212193.asp】 1. 引言 合理利用线程池能够带来三个好处。第
http://cuisuqiang.iteye.com/blog/2019372 Java通过Executors提供四种线程池,分别为: newCachedTh
Java通过Executors提供四种线程池,分别为: newCachedThreadPool创建一个可缓存线程池,如果线程池
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号