execute只能提交Runnable类型的任务,无返回值。submit既可以提交Runnable类型的任务,也可以提交Callable类型的任务,会有一个类型为Future的返回值,但当任务类型为Runnable时,返回值为null。
execute在执行任务时,如果遇到异常会直接抛出,而submit不会直接抛出,只有在使用Future的get方法获取返回值时,才会抛出异常。
import java.util.concurrent.ExecutorService;执行结果
import java.util.concurrent.Executors;
public class HelloWorld {
public static void main(String[] args) throws Exception{
ExecutorService es = Executors.newSingleThreadExecutor();
Runnable runnable = new Runnable() {
@Override
public void run() {
System.out.println("Runnable线程处理开始...");
int a = 0;
int b = 3;
System.out.println("除以0的结果为:" + b/a);
System.out.println("Runnable线程处理结束...");
}
};
es.submit(runnable);
es.shutdown();
}
}
有异常也不抛出
再看看execute
import java.util.concurrent.ExecutorService;结果如下:
import java.util.concurrent.Executors;
public class HelloWorld {
public static void main(String[] args) throws Exception{
ExecutorService es = Executors.newSingleThreadExecutor();
Runnable runnable = new Runnable() {
@Override
public void run() {
System.out.println("Runnable线程处理开始...");
int a = 0;
int b = 3;
System.out.println("除以0的结果为:" + b/a);
System.out.println("Runnable线程处理结束...");
}
};
es.execute(runnable);
es.shutdown();
}
}
抛出异常了。
网友回复
python如何调用openai的api实现知识讲解类动画讲解视频的合成?
html如何直接调用openai的api实现海报可视化设计及文本描述生成可编辑海报?
f12前端调试如何找出按钮点击事件触发的那段代码进行调试?
abcjs如何将曲谱播放后导出mid和wav格式音频下载?
python如何将曲子文本生成音乐mp3或wav、mid文件
python中mp3、wav音乐如何转成mid格式?
js在HTML中如何将曲谱生成音乐在线播放并下载本地?
python如何实现在windows上通过键盘来模拟鼠标操作?
python如何给win10电脑增加文件或文件夹右键自定义菜单?
python如何将音乐mp3文件解析获取曲调数据?