1 都可以执行任务 2 参数都支持runnable 不同点: 1 submit支持接收返回值 详见例1。 2 execute 任务里面的异常必须捕获,不能向上抛出;submit支持的Callable支持向上抛出异常,需要由返回值.get()来进行接收。详见例2。 例1 public class ExecutorTest { public static ExecutorService executorService = Executors.newF...
线程名:pool-1-thread-1 线程名:pool-1-thread-2 1. 2. 说明: 当使用execute方法时,如果任务抛出未捕获的异常,线程会崩溃并打印异常信息,但不会影响其他线程的运行。 在上述代码中,两个任务分别在不同的线程中执行,即使任务抛出异常,线程池仍然可以正常运行。 3.2 submit 方法遇到未处理异常 示例代码: import...
总结: (1)可以接受的任务类型不同 execute只能接受Runnable类型的任务 submit不管是Runnable还是Callable类型的任务都可以接受,但是Runnable返回值均为void,所以使用Future的get()获得的还是null (2)submit()有返回值,而execute()没有 例如,有个task,希望该task执行完后告诉我它的执行...
在Java中,线程池是管理线程的一种方式,它可以有效地控制线程的数量,提高系统的性能,线程池中的submit()和execute()方法都是用来提交任务到线程池中执行的,但是它们之间有一些区别。 1、返回值不同 submit()方法返回一个Future对象,这个对象代表了一个异步计算的结果,通过这个Future对象,我们可以知道任务是否完成,以及...
线程池会返回一个future类型的对象,通过这个future对象可以判断任务是否执行成功,并且可以通过future的get(...
2.当调用execute()方法添加一个任务时,线程池会做如下判断:2.1.如果正则运行的线程数小于corePool...
扔进线程池去执行),重点是提供了任务生命周期的管理能力(停止线程池,中断某个任务),而每个任务的...