dubbo线程模型在启动时会初始化固定数量的线程吗?

时间:2019-02-25 09:45:37

标签: java apache-dubbo

我的dubbo配置文件的一部分:

<dubbo:protocol name="dubbo" dispatcher="all" threadpool="fixed" threads="100" />

根据dubbo文档,上述配置表示

  

固定大小的线程池,它在启动时创建线程,永远不会关闭。

但是,当我启动应用程序时,我使用jstack来查看是否有100个以上的线程,但我发现只有40个线程,而没有找到任何dubbo线程。那么,发生了什么事?

2 个答案:

答案 0 :(得分:1)

通过声明dubbo:protocol创建的thread pool不是JVM中唯一的线程源。 JVM通常会启动许多实用程序线程,因此它可以正常运行并支持各种功能,例如终结器,关闭挂钩,RMI等。jstack显示了线程名称,其中大多数您应该可以搜索并了解其用途。

您的dubbo线程池很可能仅在处理传入请求时才产生新线程。

答案 1 :(得分:0)

这里是dubbo线程模型(http://dubbo.apache.org/en-us/docs/user/demos/thread-model.html),有一张图片展示了dubbo线程模型,您可以看到只有服务器具有线程池,这意味着只有dubbo提供者具有线程池。因为它需要分开I / O线程来自非I / O线程。