首页 > 自考资讯 > 自考资讯

执行和提交的区别

2024-10-09

本篇文章给大家谈谈执行和提交的区别,以及对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

commit 可以提交Runnable 和Callable 类型的任务。异常的:

任务执行过程中execute会直接抛出异常,可以使用try和catch捕获异常。提交将以与普通线程完全相同的方式处理异常。任务执行过程中出现的异常可以通过Future的get方法重新抛出。返回值:

execute()没有返回值

Submit有返回值,所以需要返回值的时候必须使用submit。

2、对execute和submit 的API理解

执行和提交的区别

首先我们看一下Java API中这两个方法的说明。

execute() 是在Executor 接口中定义的。 ThreadPoolExecutor继承了AbstractExecutorService抽象类,该抽象类实现了ExecutorService接口(但不重写execute方法),ExecutorService接口又继承了Executor接口。总体感觉:表示ThreadPoolExecutor实现了execute()方法。那么我们看一下api文档是如何定义execute()方法的:

执行public voidexecute(Runnable command) 在将来的某个时间执行给定的任务。该任务可以在新线程或现有池线程中执行。如果任务无法提交执行,无论是因为该执行器已关闭还是因为其容量已达到,该任务将由当前的RejectedExecutionHandler 处理。参数: command - 要执行的任务。抛出: RejectedExecutionException - 如果无法接收到要执行的任务,RejectedExecutionHandler 决定是否抛出RejectedExecutionException。 NullPointerException - 如果命令为null。提交方法定义在ExecutorService接口中,具体实现由AbstractExecutorService执行。提交方法被重载了三次,使用了三个不同的参数。 API 的摘录如下:

(1)提交公开Future? commit(Runnable task) 提交一个Runnable 任务来执行,并返回一个代表该任务的Future。当成功完成时,Future 的get 方法将返回null。说明符:接口ExecutorService中的提交参数:task - 待提交的任务返回:一个Future,表示该任务正在等待完成------------------------ ---------- ---------------------------------------- ---------- ---------- (2)submit public Future Submit(Runnable task,T result) 提交一个Runnable 任务来执行,并返回一个代表该任务的Future。当成功完成时,Future 的get 方法将返回给定的结果。说明符:接口ExecutorService中的提交参数:task - 待提交的任务结果- 返回结果返回:Future表示任务正在等待完成-------------------- ---- ---------------------------------------------------------- ---- ------------------(3)submit public Future Submit(Callable task) 提交一个返回值的任务执行,返回一个表示待处理的Future任务的结果。 Future 的get 方法将在成功完成后返回任务的结果。如果想立即阻塞任务的等待,可以使用result=execute.submit(aCallable).get();形式的结构体。 -------------------------------------------------- ---------------------------------------注意:Executors类包含一组方法,可以转换一些其他常见的类似闭包的对象,例如PrivilegedActions,被转换为Callable 形式,以便可以提交。 Specifier :接口ExecutorService中的submit参数task - 待提交的任务在FutureAPI中返回:(2)(3)表示该任务正在等待完成,也就是说execute不支持Future设置接收多- 线程执行结果,并提交是的,但是(1)表示Future的get方法成功完成后会返回null。如果返回null,和使用execute有什么区别?我直接使用execute

然后继续看源码,点击进入AbstractExecutorService抽象类源码,发现源码如下:

用户评论

情深至命

我平时写代码的时候一直把 execute 和 submit 视同义词,现在才知道其实还是有一些区别的! 这篇文章解释得挺清晰的,尤其是例子分析让我一下子就明白了。以后coding的时候要记得分清这两种概念。

    有14位网友表示赞同!

灼痛

终于明白啦! 执行和提交的概念不同啊, 我以前一直弄混淆了。 execute 感觉更像是在代码运行时的瞬间动作,而 submit 是最终把结果提交出去的过程? 文章的讲解很有帮助,清晰易懂!

    有16位网友表示赞同!

呆檬

我觉得文章没讲清楚execute 和 Submit区别在哪里,只是说个大概,例子也比较单一,希望能提供更多实际案例分析!这样才能更深入地理解。

    有5位网友表示赞同!

窒息

这个定义真的太简洁了! 我以前在用开发工具的时候常常会这两个词搞混淆,现在终于明白了差别所在。感谢作者分享这个知识点!

    有13位网友表示赞同!

迁心

文章解释的很到位,特别是将execute 和 submit 在不同场景下的应用进行举例说明,让我对它们的操作区别更加清晰,学习到了!

    有11位网友表示赞同!

有阳光还感觉冷

我觉得这篇文章说得不够具体,对于新手来说可能并不容易理解。 例如,在网络表单提交时,execute 和 submit 的含义是否一致? 希望能提供更专业的解释和实际案例讲解!

    有20位网友表示赞同!

一点一点把你清空

这个区分很重要啊! 我经常会把 execute 和 submit 混淆,导致代码执行逻辑混乱。 这篇文章帮助我理清思路,以后 coding 要记得分清楚这两个概念!

    有10位网友表示赞同!

笑傲苍穹

终于明白了为什么我的提交指令有时候不会立刻生效了,原来是 execute 的问题?这篇文章让我对程序的运行流程有了更深入的理解。

    有16位网友表示赞同!

残花为谁悲丶

执行和提交啊,这个概念在编程中确实很重要。 但我觉得文章例子不够丰富,希望能涵盖更多不同的场景,例如 API调用、数据库操作等等

    有6位网友表示赞同!

野兽之美

非常感谢作者分享知识! 以前我一直把 execute 和 submit 用 interchangeably,现在才知道它们之间的区别很关键。 这篇文章解释得很详细,容易理解。

    有14位网友表示赞同!

*巴黎铁塔

文章说得很对啊!execute 和 submit 在实际应用中确实有明显区别。 例如,提交代码到版本库是 submit 的动作,而执行代码导致程序运行才是 execute 。

    有12位网友表示赞同!

心脏偷懒

我觉得这篇文章很有帮助,让我更好地理解了 execute 和 submit 的概念。 但我希望作者能提供更多详细的案例分析,以便更深入地学习这些知识点。

    有17位网友表示赞同!

怪咖

真是太感谢你了!我一直很困惑这两个词的区别,今天终于明白了。 文章写的简洁清晰,很好理解。下次可以多一些交互练习吗?

    有20位网友表示赞同!

莫阑珊

execute 和 submit 的概念确实很重要,希望以后在编程的学习过程中能更加注意区分它们使用场景。 这篇文章内容很干练,非常实用!

    有19位网友表示赞同!

像从了良

我对这个标题感兴趣,因为经常会把 execute 和 submit搞混淆! 但文章解释有点过于简单抽象,我希望提供更多具体的例子来帮助理解。

    有16位网友表示赞同!

败类

真是太棒了! 这篇文章点明了我在编程中常犯的错误。 以后一定记住execute 和 submit 的区别!

    有19位网友表示赞同!

哭花了素颜

我觉得这篇文章对初学者很有帮助,可以用更通俗易懂的语言解释两个概念的区别。 例如: execute 是像 “点燃火柴” ,而 submit 是像 "把作业交上去"。

    有20位网友表示赞同!

猜你喜欢

  • 执行和提交的区别

    执行和提交的区别

    1、execute和submit的区别提交任务的类型:execute和submit都属于线程池的方法,execute只能提交Runnable类型的任务submi

    来源:中国自考网 2024-10-09
  • 20秒记住一个单词(第507号)提交

    20秒记住一个单词(第507号)提交

    submit/səb'mɪt/ v. 提交,呈递(文件、建议等):点击收听音频跟读 ↓↓↓ ↓↓↓ ↓↓↓例句/词组:Completed projects mu

    来源:中国自考网 2024-10-09
  • 随时随地背单词,今天就学:提交

    随时随地背单词,今天就学:提交

    点击关注“零食英语”,获取最实用的英语学习知识。submit英 [səb'mɪt]美 [səb'mɪt]vt. 使服从;主张;呈递vi. 提交;服从词源:sub

    来源:中国自考网 2024-10-09
  • “朝九晚五”用英语怎么说?

    “朝九晚五”用英语怎么说?

    Nine-to-fivenine-to-five /'naɪnt'əf'aɪv/(上班时间)朝九晚五的 It refers to the white-colla

    来源:中国自考网 2024-10-09
  • 美国最受欢迎的10 个英文名字

    美国最受欢迎的10 个英文名字

    美国婴儿命名网站Nameberry最近发布了2020年预估将会流行的十大女孩、男孩名字名单。难道英文名也像流行时尚一样可以预测?Nameberry 统计了110

    来源:中国自考网 2024-10-09
  • 词关联立体立体类固醇立体酮睾酮

    词关联立体立体类固醇立体酮睾酮

    stere 英 /stɪə/ 美 /stɪr/ 全球(美国) n. 立方米;立方公尺stereo 英 /ˈsteriəʊ/ 美 /ˈsterioʊ/ 全球(美国

    来源:中国自考网 2024-10-09
  • 词联想立体声立体声舵船尾

    词联想立体声立体声舵船尾

    stainless英/ˈsteɪnləs/美/ˈsteɪnləs/adj. 不锈的,防锈的;无污点的;(人,名声)纯洁的,无瑕的n. 不锈钢stained英/s

    来源:中国自考网 2024-10-09
  • 立体声和免提AG 音频有什么区别?

    立体声和免提AG 音频有什么区别?

    今天用电脑连接蓝牙音箱播放歌曲时,发现电脑的播放设备显示了蓝牙音箱的两种模式(如下图所示),于是试了一下两种模式,发现Stereo模式下声音正常,而调到Hand

    来源:中国自考网 2024-10-09
  • 夸!英语里没有“牛”这个词吗?

    夸!英语里没有“牛”这个词吗?

    今年是牛年,先祝大家Happy 牛 Year!were you born in the Year of the Ox? 你是在牛年出生的吗?你太牛了!(棒极了

    来源:中国自考网 2024-10-09
  • 超全的牛排知识,让你成为知识渊博的吃货

    超全的牛排知识,让你成为知识渊博的吃货

    牛排,可谓吃西餐的代名词。有人说,如果学会吃牛排,就可以顺利地迈入西式生活。如此,不得不让人说说西式的“大肉”——牛排。1.英文STEAK是牛排一词的统称,牛排

    来源:中国自考网 2024-10-09