【Java成神之路】执行 execute() 方法和 submit() 方法的区别是什么呢?

2022-04-15 10:51:52  晓掌柜  版权声明:本文为站长原创文章,转载请写明出处


一、execute()

    execute() 方法用于提交不需要返回值的任务,所以无法判断任务是否被线程池执行成功与否;

二、submit()

    submit()方法用于提交需要返回值的任务。线程池会返回一个future类型的对象,通过这个future对象可以判断任务是否执行成功,并且可以通过future的get()方法来获取返回值,get()方法会阻塞当前线程直到任务完成,而使用 get(long timeout,TimeUnit unit) 方法则会阻塞当前线程一段时间后立即返回,这时候有可能任务没有执行完。


最新评论: