Java多线程的一种实现
2017-08-14 09:52
148 查看
Java多线程的一种实现
import java.util.ArrayList; import java.util.List; import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; public class CallableAndFuture { public static class MyCallable implements Callable<Object> { private String key = null; public MyCallable(String key) { this.key = key; } public String call() throws Exception { System.out.println(key); //在这里写入你要执行的活动代码 //to do something return "线程"+key+"执行完毕";//返回值可以根据需求修改 } } public static void main(String[] args) { // 创建一个执行任务的服务 int taskSize = 20;//线程的数量 ExecutorService es = Executors.newFixedThreadPool(taskSize); List<Future<Object>> resultList = new ArrayList<Future<Object>>(); for (int i = 0; i < 100; i++) { String s = String.valueOf(i);//要传入线程的参数,可以根据自己的需求修改 Future<Object> future = es.submit(new MyCallable(s)); resultList.add(future); } for (Future<Object> fs : resultList) { try { if (null != fs) { String str = (String) fs.get();//获得线程执行的返回值 //做相应的处理 //to do something if (null == str) { continue; } System.out.println(str); } } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ExecutionException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { // 启动一次顺序关闭,执行以前提交的任务,但不接受新任务。如果已经关闭,则调用没有其他作用。 es.shutdown(); } } } }
相关文章推荐
- 在java中要想实现多线程,有两种手段,一种是继续Thread类,另外一种是实现Runable接口。
- 多线程中的全局信息统计的一种简单实现方式(java实现)
- 在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口
- java实现多线程的一种简单方式
- JAVA中多线程的一种实现及应用
- 一种实现数据库连接池的方法(JAVA)
- JAVA 中多线程服务端 多个客户端的实现
- 实现 Java 多线程并发控制框架
- 实现 Java 多线程并发控制框架
- 彻底明白Java的多线程-实现多线程及线程的同步
- Java基础:一种实现数据库连接池的方法
- 一种Java日志系统框架的设计与实现(转)
- Java多线程实现异步调用
- Johnson-trotter 算法,一种高效的全排序算法的java实现
- 用JAVA的多线程实现银行取款的问题
- Java多线程编程环境中单例模式的实现
- JAVA:用多线程实现时间的动态显示
- 关于这java类实现多线程的困惑
- DWR(AJAX的一种Java实现)做的分页!!
- 用JAVA的多线程实现火车站售票问题