5、消息传递方式 在submit()和execute()方法中,消息传递方式也存在差异。submit()方法中提交的任务可以通过Future对象获取执行结果,开发人员可以使用该对象等待线程池中对应的任务完成,并获取其返回值;而execute()方法则没有提供返回值或者其他机制来获取任务的执行情况,因此即便一个任务执行失败了,开发人员也无法了...
使用execute方法时,可以简单地将任务提交给线程池执行,但无法获取任务的执行结果。而使用submit方法时,可以获取任务的执行结果,并且可以通过Future对象进行异常处理。 总结: execute方法是一种简单的提交方式,用于提交无返回值的Runnable任务;而submit方法可以提交Runnable任务和Callable任务,并返回一个表示任务结果的F...
> submit(Runnable task); 2.使用上的区别 2.1execute没有返回值(Future) 2.2执行结果(future.get) 2.3submit可以捕获runnable里的异常 3.示例 3.1使用Future判断任务是否执行完,5s后任务超时就停止任务。 publicclassThreadPoolSubmitFuture {staticclassMyRunnable implements Runnable {privateString jobName;privateThrea...
1、execut()可以添加一个Runable任务,submit()不仅可以添加Runable任务还可以添加Callable任务。 2、execut()没有返回值,而submit()在添加Callable任务时会有返回值(再添加Runable任务时也有,不过无意义),可以通过返回值来查看线程执行的情况。 3、如果发生异常submit()可以通过捕获Future.get抛出的异常,而execute()会...
一、线程池提交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对象,我们可以知道任务是否完成,以及...
线程池中submit()和execute()方法的区别:1.submit有返回值,而execute没有。2.submit()的返回值Future调用get方法时,可以捕获处理异常。3.submit方便...
1、execute和submit的区别 提交任务的类型: execute和submit都属于线程池的方法,execute只能提交Runnable类型的任务 submit既能提交Runnable类型任务也能提交Callable类型任务。 异常: execute会直接抛出任务执行时的异常,可以用try、catch来捕获,和普通线程的处理方式完全一致 ...
3. execute方法的作用及其与submit的区别 execute方法也是ExecutorService接口中的一个方法,用于提交一个Runnable任务给线程池执行。与submit方法不同,execute方法没有返回值,也不抛出异常(如果线程池已关闭或任务被拒绝,则任务将被丢弃)。execute方法适用于那些不需要返回结果或处理异常的任务。 submit和execute方法的主要区...