美文网首页
执行 execute() 方法和 submit() 方法的区别是

执行 execute() 方法和 submit() 方法的区别是

作者: 潘志杰_34fd | 来源:发表于2019-07-09 08:14 被阅读0次

执行 execute() 方法和 submit() 方法的区别是什么?

执行 execute() 方法和 submit() 方法的区别是什么?

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

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

相关文章

网友评论

      本文标题:执行 execute() 方法和 submit() 方法的区别是

      本文链接:https://www.haomeiwen.com/subject/lbktkctx.html