当前位置: 首页 > 知识库问答 >
问题:

newScheduledThreadPool(1)和NewSingletThreadScheduledExecutor()之间的区别

施利
2023-03-14

我想知道Executors类的这两种方法有什么区别?我有一个html" target="_blank">web应用程序,我每100毫秒检查一些数据,所以这就是为什么我使用这个带有scheduleWithFixedDelay方法的调度器。我想知道在这种情况下应该使用哪种方法(newScheduledThreadPool还是newSingleThreadScheduledExecutor)?我还有一个问题--在监视Glassfish服务器的VisualVM中,我注意到PARK state中有一些线程--例如:

java.lang.Thread.State: WAITING
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for <3cb9965d> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1088)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

这些线程是否可能与调度程序连接,因为我不知道还有什么会创建它们?这些线程从未被破坏,所以我担心这可能会引起一些麻烦。下面是一个截图(新的线程-35将在15分钟内创建,以此类推……):

共有1个答案

满博
2023-03-14

如文档所述:

与其他等效的newScheduledThreadPool(1)不同,返回的执行器保证不能重新配置以使用其他线程。

因此,在使用newscheduledthreadpool(1)时,以后可以添加更多线程。

 类似资料:
  • 问题内容: 在mdn 与…相同 。 但是,实际上它在浏览器中有不同的显示。 您可以通过更改CSS中的注释在jsFiddle中进行尝试。 当我使用元素时,其类名将是,但使用时不会发生。 我不明白为什么。寻求帮助。非常感谢。 问题答案: 该 属性是设置的简写: 该规则应对此进行计算: 这些值在规范中定义。参见7.1.1节。的基本价值 我之所以说 “应该计算” ,是因为在IE11和可能的其他浏览器中,度

  • 问题内容: 我的问题是:使用有意义吗?在两个线程(main + oneAnotherThread)中,使用执行程序服务效率高吗?是否通过调用比使用ExecutorService更好地直接创建新线程?在这种情况下使用ExecutorService有什么好处和坏处? PS:主线程和oneAnotherThread不访问任何公共资源。 我经历了:使用ExecutorService有什么优势?。一次只能有

  • 本文向大家介绍Hadoop 1和Hadoop 2之间的区别,包括了Hadoop 1和Hadoop 2之间的区别的使用技巧和注意事项,需要的朋友参考一下 我们知道,为了维护大数据并以不同的方式从此数据获取相应的报告,我们使用了Hadoop,它是Apache Software Foundation基于Java编程语言的开源框架。 现在,Apache引入了名为Hadoop 2的下一个Hadoop版本,因

  • 问题内容: 和Python和有什么不一样? 我尝试环顾四周,但没有在这些线上找到具体问题。如果已经回答,则链接就足够了。 问题答案: 0和1是退出代码。 意味着干净出口,没有任何错误/问题 表示存在一些问题/错误/问题,这就是程序退出的原因。 这不是特定于Python的,非常普遍。非零退出代码被视为异常退出,有时,错误代码指示问题所在。错误代码为零表示成功退出。 这对于其他程序,shell,调用方

  • 问题内容: 我错放了太多次了,我想我一直忘记,因为我不知道两者之间的区别,只是一个给了我我期望的价值,而另一个却没有。 为什么是这样? 问题答案: 是的简写形式(尽管请注意,该表达式只会被计算一次。) 是的,即指定一元的到。 例子:

  • 问题内容: 因此,我有一段简单的代码可以打印出整数1-10: 然后,如果仅在第3行上更改一个运算符,它将打印出无限数量的1整数(我知道为什么会这样做)。为什么在运行第二个程序时没有出现语法错误?如果赋值运算符后面跟着一个加法运算符,它不会调用语法错误吗? 问题答案: 与相同, 只是意味着。