当前位置: 首页 > 面试题库 >

shutdown和awaitTermination哪个第一次调用有什么区别?

姚自强
2023-03-14
问题内容

之间有什么区别

ExecutorService eService = Executors.newFixedThreadPool(2);
eService.execute(new TestThread6());
eService.execute(new TestThread6());
eService.execute(new TestThread6());
eService.awaitTermination(1, TimeUnit.NANOSECONDS);
eService.shutdown();

eService.shutdown();
eService.awaitTermination(1, TimeUnit.NANOSECONDS);

我不太明白shutdown()。此方法不等待先前提交的任务完成执行。这是否意味着shutdown()可以终止已提交但尚未完成的任务?我尝试了一些例子,他们没有证明,请给我一个例子。


问题答案:

你应该shutdown先打电话。否则,您可能会等待很长时间,因为awaitTermination实际上并没有关闭执行程序。

如果您要等待任务完成而不是等待执行程序关闭,则应使用invokeAll



 类似资料:
  • 问题内容: 我对使用ajax或jquery感到困惑,所以我想知道区别是什么,例如性能和复杂性哪个更好。 问题答案: AJAX是一种从网页到服务器执行XMLHttpRequest(带外Http请求)并发送/检索要在网页上使用的数据的技术。AJAX代表异步Java语言和XML。它使用JavaScript构造XMLHttpRequest,通常在各种浏览器上使用不同的技术。 jQuery(网站)是一个Ja

  • 问题内容: 而且似乎都返回了。是否有细微的区别或可以互换使用?另外,是超阶级的公共财产吗?(我知道这是存在的,但似乎在javadocs中找不到任何提及) 问题答案: 一个是实例方法,因此它返回特定对象的类,另一个是Class常量(即在编译时已知)。 两种情况都返回Class对象的实例,该实例描述了特定的Java类。对于相同的类,它们返回相同的实例(每个类只有一个Class对象)。 到达Class对

  • 问题内容: 我正在SpringSource上浏览一些博客,在其中一个博客中,作者正在使用,我想他也可以使用。 这是一段代码: 我不知道之间的区别和,如果有人解释他们的区别将不胜感激,什么情况下要使用哪一个? 问题答案: 假设这里是指注释。是Java EE 6(JSR-299)中引入的Java CDI(上下文和依赖项注入)标准的一部分,更多内容。Spring选择支持与自己的注释同义使用。 因此,为了

  • 我真的到处都在寻找这个,我可以发出同步和异步数据请求,但我不能真正理解哪个是异步的,哪个是异步的?什么与什么同步?

  • 问题内容: 每种都有哪些优点和缺点? 从我所看到的情况来看,如果需要,任何一个都可以替代另一个,所以我应该同时使用这两个还是应该仅使用其中之一? 程序的样式会影响我的选择吗?我正在使用numpy进行一些机器学习,因此确实有很多矩阵,但也有很多向量(数组)。 问题答案: numpy矩阵严格是2维的,而numpy数组(ndarrays)是N维的。矩阵对象是ndarray的子​​类,因此它们继承了nda

  • 我正在尝试使用Python中的和/或包。我正在尝试以csv格式压缩数据库转储,然后将其放入文件。我让它工作与一次压缩与两个包。 其代码如下所示: 我浏览了文档,也查找了有关压缩技术的信息,但似乎没有关于什么是一次性压缩和增量压缩的全面信息。