前面说了还需要介绍多线程中使用execute和submit的区别(这两个方法都是线程池ThreadPoolExecutor的方法)。 1.1 方法来源不同 execute方法是线程池的顶层接口Executor定义的,在ThreadPoolExecutor中实现: voidexecute(Runnable command); submit()是在ExecutorService接口中定义的,并定义了三种重载方式: <T> Future<T>submi...
使用execute方法时,可以简单地将任务提交给线程池执行,但无法获取任务的执行结果。而使用submit方法时,可以获取任务的执行结果,并且可以通过Future对象进行异常处理。 总结: execute方法是一种简单的提交方式,用于提交无返回值的Runnable任务;而submit方法可以提交Runnable任务和Callable任务,并返回一个表示任务结果的F...
5、消息传递方式 在submit()和execute()方法中,消息传递方式也存在差异。submit()方法中提交的任务可以通过Future对象获取执行结果,开发人员可以使用该对象等待线程池中对应的任务完成,并获取其返回值;而execute()方法则没有提供返回值或者其他机制来获取任务的执行情况,因此即便一个任务执行失败了,开发人员也无法了...
线程池中的execute方法大家都不陌生,即开启线程执行池中的任务。还有一个方法submit也可以做到,它的功能是提交指定的任务去执行并且返回Future对象,即执行的结果。下面简要介绍一下两者的三个区别: 1、接收的参数不一样 public class MainTest { public stat
一、线程池提交execute和submit有什么区别? 1. execute 用于提交不需要返回值的任务 threadsPool.execute(newRunnable(){@Overridepublicvoidrun(){// TODO Auto-generated method stub }}); 1. 2. 3. 4. 2. submit()方法用于提交需要返回值的任务。线程池会返回一个future类型的对象,通过这个 future对象可以...
在Java中,线程池是管理线程的一种方式,它可以有效地控制线程的数量,提高系统的性能,线程池中的submit()和execute()方法都是用来提交任务到线程池中执行的,但是它们之间有一些区别。 1、返回值不同 submit()方法返回一个Future对象,这个对象代表了一个异步计算的结果,通过这个Future对象,我们可以知道任务是否完成,以及...
3. 异常处理 异常处理也是个大区别。execute()提交的任务如果抛异常了,线程池会直接抛出异常,任务就挂...
线程池中submit()和execute()方法的区别:1.submit有返回值,而execute没有。2.submit()的返回值Future调用get方法时,可以捕获处理异常。3.submit方便...
两个方法都是线程池中提供的,都可以用来执行线程的调度任务,他们的区别如下:execute()只能执行实现Runnable接口类型的任务;而submit()不仅可以执实现Runnable类型接口的任务,也可以执行实现Callable接口类型的任务execute()没有返回值,而submit()有在添加Callable类型任务的时候有返回值,我们一般通过返回值查看线程执行...