前言 在我们进行开发的时候,为了充分利用系统资源,我们通常会进行多线程开发,实现起来非常简单,需要使用线程的时候就去创建一个线程(继承Thread类、实现Runnable接口、使用Callable和Future),但是这样也有一点问题,就是如果并发的线程数量很多,创建线程、销毁线程都是需要消耗时间、 ...
分类:
编程语言 时间:
2018-07-20 23:40:12
阅读次数:
327
1.创建线程的方式 1.继承Thread类创建线程 2.实现Runnable接口创建线程 3.使用Callable和Future创建线程 (参考:https://www.cnblogs.com/3s540/p/7172146.html) 2.Executor框架——将任务的提交过程和执行过程解耦 3 ...
分类:
其他好文 时间:
2018-07-10 21:30:05
阅读次数:
116
我们之前学习创建线程有Thread和Runnable两种方式,但是两种方式都无法获得执行的结果。 而Callable和Future在任务完成后得到结果。 Future是一个接口,表示一个任务的周期,并提供了相应的方法来判断是否已经完成或者取消任务,以及获取任务的结果和取消任务。 FutureTask ...
分类:
其他好文 时间:
2018-07-06 20:24:30
阅读次数:
131
public interface Callable<V> 返回结果并且可能抛出异常的任务。实现者定义了一个不带任何参数的叫做 call 的方法 public interface Future<V> Future 表示异步计算的结果。计算完成后只能使用 get 方法来获取结果 1.线程处理返回结果 一 ...
分类:
编程语言 时间:
2018-06-26 01:03:17
阅读次数:
198
Callable和Future出现的原因 创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。 而自从 ...
分类:
编程语言 时间:
2018-04-06 12:33:27
阅读次数:
204
Callable和Future,一个产生结果,一个拿到结果。 Callable接口类似于Runnable,但是Runnable不会返回结果,并且无法抛出返回结果的异常,而Callable功能更强大一些,被线程执行后,可以返回值,这个返回值可以被Future拿到,也就是说,Future可以拿到异步执行 ...
分类:
其他好文 时间:
2018-03-24 23:47:43
阅读次数:
210
http://www.silencedut.com/2016/06/15/Callable%E5%92%8CFuture%E3%80%81FutureTask%E7%9A%84%E4%BD%BF%E7%94%A8/ http://www.silencedut.com/2016/06/15/Calla ...
分类:
其他好文 时间:
2018-01-08 18:31:16
阅读次数:
220
接着上一篇继续并发包的学习,本篇说明的是Callable和Future,它俩很有意思的,一个产生结果,一个拿到结果。 Callable接口类似于Runnable,从名字就可以看出来了,但是Runnable不会返回结果,并且无法抛出返回结果的异常,而Callable功能更强大一些,被线程执行后,可以返 ...
分类:
其他好文 时间:
2017-12-08 14:00:52
阅读次数:
128
java中可以通过继承Thread或者实现Runnable接口来实现多线程,但是这种方式并不能让我们在线程执行完后获取执行结果。因此在java1.5开始引入了Callable和Future接口,通过它们可以在线程执行完后获取执行结果。Callable表示一个可返回结果的任务,Future表示一个异步 ...
分类:
编程语言 时间:
2017-11-21 19:50:13
阅读次数:
181