import java.util.ArrayList; import java.util.List; import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; public class TaskWithResult implements Callable<String> { private int id ; public TaskWithResult(int id) { this.id = id; } @Override public String call() throws Exception { return "result of TaskWithResult " + id; } public static void main(String[] args) throws Exception { ExecutorService exec = Executors.newCachedThreadPool(); List<Future<String>> results = new ArrayList<Future<String>>(); for (int i = 0; i < 10; i++) { results.add(exec.submit(new TaskWithResult(i))); } for (Future<String> fs : results) { System.out.println(fs.get()); } exec.shutdown(); } }
相关推荐
多线程并行执行,汇总结果、多线程并行执行,汇总结果
java通过线程控制程序执行超时(新) 基本数据类型 反射 线程 超时
Java多线程实现数据切割批量执行,实现限流操作。 java线程池Executors实现数据批量操作。 批量异步Executors处理数据,实现限流操作,QPS限流。 线程池调用第三方接口限流实现逻辑。 案例适合: 1.批量处理大数据。...
NULL 博文链接:https://lf6627926.iteye.com/blog/1538301
http://blog.csdn.net/yangzhaomuma/article/details/51722779
需要注意的是,在实际的异步请求中,可能需要使用Future或其他方式来等待请求的完成,并获取返回结果。上面的示例只是演示了如何使用多线程来执行异步请求,具体的处理逻辑需要根据实际需求进行修改
Main方法是运行开始的方法,里面StopWatch是测速工具类,如果要想使用请导入相关maven坐标,不想使用直接删除即可。 内容概要: 这是随手写的一个利用线程池下载文件的小玩具,如果刚学完线程池不知道怎么使用的,...
1.得到服务器下载文件的大小,然后在本地设置一个临时文件和服务器端文件大小一致 a)获得访问网络地址 b)通过URL对象的openConnection()方法打开连接,返回一个连接...b)当没有正在运行的线程时切文件存在时删除文件
在使用java创建线程的时候,你可以生成一个Thread类或者他的子类对象,并给这个对象发送start()消息(程序可以向任何一个派生自 Runnable 接口的类对象发送 start() 消息的),这样一来程序会一直执行,直到run返回...
主要介绍了浅谈Java获得多线程的返回结果方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
在主线程中通过控制台读取键盘输入时,会产生阻塞。故另外开启一个线程,用于接受客户端的socket消息。服务器在收到一个socket连接之后,...测试可以在不同控制台运行server和client,服务器接收消息时,会显示消息来源
Future接口是Java线程Future模式的实 现,可以来进行异步计算。 Future模式可以这样来描述:我有一个任务,提交给了Future,Future替我完成这个任务。期间我自己可以去做任何想做的事情。一段时 间之后,我就便...
如果该线程是使用独立的 Runnable 运行对象构造的,则调用该 Runnable 对象的 run 方法;否则,该方法不执行任何操作并返回。 Thread 的子类应该重写该方法。 2、实现java.lang.Runnable接口。 void run...
当lefthand调用start()开始运行时,类Lefthand中的run()将自动被执行。 我们来分析一下上面程序的输出结果。Left线程首先开始执行,这时Lefthand类中的run方法开始执行,输出”I am a student”后,left主动“休息”...
//线程运行实体 public void run () { BufferedReader in = null; PrintWriter out = null; try{ InputStreamReader isr; isr = new InputStreamReader (sk.getInputStream ()); in = new BufferedReader ...
主要为大家详细介绍了使用CountDownLatch等待多线程全部执行完成,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
3、先运行服务器类MJServer.java,再运行客户端类MyClient.java 4、提示连接成功后,在服务类的控制台输入cmd命令,例如ping 127.0.0.1 5、控制台可以看到客户端返回的内容 ps:因为本人系统用的是繁体字,可能会导致...
但在多线程的异步开发模式下,数据的传递和返回和同步开发模式有很大的区别。由于线程的运行和结束是不可预料的,因此,在传递和返回数据时就无法象函数一样通过函数参数和return语句来返回数据
主要介绍了使用java的HttpClient实现多线程并发的相关资料,需要的朋友可以参考下
一个运行中的Java虚拟机有着一个清晰的任务:执行Java程序。程序开始执行时他才运行,程序结束时他就停止。你在同一台机器上运行三个程序,就会有三个运行中的Java虚拟机。 Java虚拟机总是开始于一个main()方法,这...