首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Java中的RunnableCallable、Future、FutureTask的区别

Java中存在RunnableCallable、Future、FutureTask这几个与线程相关的类或者接口,在Java中也是比较重要的几个概念,我们通过下面的简单示例来了解一下它们的作用于区别。...Runnable 其中Runnable应该是我们最熟悉的接口,它只有一个run()函数,用于耗时操作写在其中,该函数没有返回值。...()函数转换为Callable类型,即FutureTask最终都是执行Callable类型的任务。...因此FutureTask既是Future、Runnable,又是包装了Callable(如果是Runnable最终也会被转换为Callable ), 它是这两者的合体。...(实际上会转换为Callable)和Callable * ,所以一般来讲是一个符合体了,它可以通过Thread包装来直接执行, * 也可以提交给ExecuteService来执行 * ,并且还可以通过

36830

java:多线程基础之RunnableCallable与Thread

java.lang包下有二个非常有用的东西:Runnable接口与Thread类,Thread实现了Runnable接口(可以认为Thread是Runnable的子类),利用它们可以实现最基本的多线程开发...; 4 import java.util.concurrent.ThreadPoolExecutor; 5 import java.util.concurrent.TimeUnit; 6 7...该线程启用后,马上开始,但是处理结果将在"未来"某一时刻,才真正需要,在此之前,其它线程可以继续处理自己的事情 1 package com.cnblogs.yjmyzz; 2 3 import java.util.concurrent.Callable...; 4 import java.util.concurrent.ExecutionException; 5 import java.util.concurrent.FutureTask; 6...处理结果:" + task.get()); 26 System.out.println("全部处理完成"); 27 } 28 29 } 二个注意点: a) FutureTask使用Callable

578100

Java-多线程:Callable接口和Runnable接口之间的区别

Callable接口和Runnable接口之间的区别 一、源代码角度分析两接口间的区别 想学习好Future设计模式,我们应当首先将Callable、以及Runnable接口之间的区别弄明白: 不妨首先给出他们俩的源代码...: 如上面代码所示,callable的核心是call方法,允许返回值,runnable的核心是run方法,没有返回值 call方法可以抛出异常,但是run方法不行 因为runnablejava1.1就有了...,所以他不存在返回值,后期在java1.5进行了优化,就出现了callable,就有了返回值和抛异常 callablerunnable都可以应用于executors。...但是Runnable接口和Callable接口在线程池上的应用实际上是十分类似的。  ...接口以及FutureTask类上Runnable接口和Callable接口的异同,这样一来我们可以对此有一个更深层次的认识;但是不妨,将此内容放在我的另外一篇博客中。

7.2K20

java中如何数组转换为List

Java 必知必会 第 2 篇 (精挑 Stack Overflow在java中排名前100的问题 懂得这些问题的答案帮你解决80%开发问题 ) 问题 假设有数组 Element[] array =...{newElement(1),newElement(2),newElement(3)}; 如何将其转换为ArrayList arraylist = ???...Arrays.asList() 返回的是Arrays内部静态类,而不是Java.util.ArrayList的类。...这个java.util.Arrays.ArrayList有set(),get(),contains()方法,但是没有任何add() 方法,所以它是固定大小的 如果希望避免这两个坑,请改用这个方式 Collections.addAll...(arraylist, array); 这将会是一个系列,我接下来会更新mysql,mongodb,java,linux等,精挑 Stack Overflow在中排名前的问题,一般知道这些问题,可以帮助我们快速解决开发中遇到

3.1K30
领券