(1)可以接受的任务类型               submit:                             execute:   
原创 2022-07-25 10:46:20
87阅读
ExecutorService的submitexecute方法都能执行任务,但在使用过程,发现其对待run方法抛出的异常处理方式不一样。 两者执行任务最后都会通过Executor的execute方法来执行,但对于submit,会将runnable物件包装成FutureTask<Object>,其run方法会捕捉被包装的Runnable Object的run方法
原创 2023-04-28 10:32:52
4441阅读
前言 使用线程池难免会用到submitexecute,但是submit是有坑的,此处做个记录 1、submit坑 此处随便写一个方法,进入内部查看executesubmit / @Author: 小混蛋 @CreateDate: 2018/8/29 9:58 / @Component publi
转载 2019-07-15 23:12:00
53阅读
2评论
executesubmit都属于线程池的方法,execute只能提交Runnable类型的任务,而submit既能提交Runnable类型任务也能提交Callable类型任务。 execute会直接抛出任务执行时的异常,submit会吃掉异常,可通过Future的get方法将任务执行时的异常重新抛
转载 2019-07-15 23:10:00
87阅读
2评论
Java5之后,并发线程这块发生了根本的变化,最重要的莫过于新的启动、调度、管理线程的一大堆API了。在Java5以后,通过Executor来启动线程比用Thread的start()更好。在新特征中,可以很容易控制线程的启动、执行和关闭过程,还可以很容易使用线程池的特性。 一
转载 2021-08-30 10:29:30
412阅读
目录区别ExecutorExecutorService关于返回值区别1 接收的参数不一样:submit可以是Callable,也可以是Runnable,execute只能是Runnable 。2 submit有返回值; 而execute没有,fs.get()的结果是null3 submit的异常可以被主线程捕获到,executeExecutorExecutorService关于返回值返回值Future、Callab...
原创 2021-09-10 18:34:42
1145阅读
1点赞
目录区别ExecutorExecutorService关于返回值区别1 接收的参数不一样:submit可以是Callable,也可以是Runnable,execute只能是Runnable 。2 submit有返回值; 而execute没有,fs.get()的结果是null3 submit的异常可以被主线程捕获到
原创 2022-03-09 11:21:30
1487阅读
两个方法都可以向线程池提交任务, execute()方法的返回类型是void,它定义在Executor接口中, 而submit()方法可以返回持有计算结果的Future对象,它定义在ExecutorService接口中,它扩展了Executor接口,其它线程池类像ThreadPoolExecutor
原创 2021-07-20 13:42:40
694阅读
线程池中的execute方法大家都不陌生,即开启线程执行池中的任务。还有一个方法submit也可以做到,它的功能是提交指定的任务去执行并且返回Future对象,即执行的结果。下面简要介绍一下两者的三个区别:1、接收的参数不一样2、submit有返回值,而execute没有用到返回值的例子,比如说我有很多个做validation的task,我希望所有的task执行完,然后每个task告诉我它的执行结
原创 2023-02-21 00:34:33
161阅读
java 线程池中 executesubmit 方法的区别
原创 2022-12-03 23:16:20
256阅读
两个方法都可以向线程池提交任务,execute()方法的返回类型是void,它定义在Executor接口中,而submit()方法可以返回持有计算结果的Future对象,它定义在ExecutorService接口中,它扩展了Executor接口,其它线程池类像ThreadPoolExecutor和ScheduledThreadPoolExecutor都有这些方法。
原创 2022-07-25 10:45:51
59阅读
1. executesubmit 的区别 前面说了还需要介绍多线程中使用 executesubmit
原创 2023-04-09 09:33:02
125阅读
代码示例:public class ThreadPool_Test { public static void main(String[] args) throws InterruptedException, ExecutionException { ExecutorService pool = Executors.newCachedThreadPool(); po
原创 2022-11-15 15:05:52
169阅读
execute(Runnable x) 没有返回值。可以执行任务,但无法判断任务是否成功完成。submit(Runnable x) 返回一个future。可以用这个future来判断任务是否成功完成。在Java5之后,任务分两类:一类是实现了Runnable接口的类,一类是实现了Callable接口的类。两者都可以被ExecutorService执行Future future 
原创 2015-08-19 15:28:48
10000+阅读
execute方法用于提交不需要返回值的任务,所以无法判断任务是否被线程池执行与否;submit方法用于提交需要返回值的任务。线程池会返回一个Future类型的对象,通过这个Future对象可以判断任务是否执行成功,并且可以通过Future的get()方法来获取返回值,get()方法会阻塞当前线程直到任务完成,而使用get(long timeout,TimeUnit unit)方法会阻塞当前线程一
原创 2023-07-06 11:04:55
105阅读
线程池中的execute方法大家都不陌生,即开启线程执行池中的任务。还有一个方法submit也可以做到,它的功能是提交指定的任务去执行并且返回Future对象,即执行的结果。下面简要介绍一下两者的三个区别: 1、接收的参数不一样 public class MainTest { public stat
转载 2020-05-07 00:19:00
156阅读
2评论
多线程 executesubmit区别和使用
原创 2021-08-26 15:19:32
640阅读
(目录) 欢迎关注微信公众号:数据科学与艺术 作者WX:superhe199 Executor.execute() 和 Executor.submit() 都是用于将任务提交到 Executor 或其子接口 ExecutorService 中执行的方法,但它们之间存在以下主要区别: 1. 返回类型: Executor.execute(Runnable command):该方法没有返回值,其
execute(Runnable x) 没有返回值。可以执行任务,但无法判断任务是否成功完成。 submit(Runnable x) 返回一个future。可以用这个future来判断任务是否成功完成。 在Java5之后,任务分两类:一类是实现了Runnable接口的类,一类是实现了Callable
转载 2018-12-06 11:08:00
234阅读
2评论
线程池中的 executesubmit 方法详解目录引言execute 方法使用示例代码submit 方法2.1 提交 Callable 任务2.2 提交 Runnable 任务遇到未处理异常3.1 execute 方法遇到未处理异常3.2 submit 方法遇到未处理异常小结引言在多线程编程中,线程池是提高性能和资源利用率的重要工具。Java 提供了 executesubmit 两种
原创 精选 8月前
328阅读
  • 1
  • 2
  • 3
  • 4
  • 5