我的dubbo配置文件的一部分:
<dubbo:protocol name="dubbo" dispatcher="all" threadpool="fixed" threads="100" />根据dubbo的文档,上述配置方法
一个固定大小的线程池,它在启动时创建线程,永远不要关闭。
但是当我启动应用程序时,我使用jstack查看是否有100多个线程,我只找到了大约40个线程,但没有找到任何杜博线程。那么发生了什么?
发布于 2019-02-25 09:56:09
您通过声明线程池创建的dubbo:protocol并不是JVM中线程的唯一来源。通常JVM启动许多实用程序线程,这样它就可以正常工作并支持各种特性,例如终结器、关机挂钩、RMI等等。jstack显示线程名,大多数您应该能够谷歌并理解它们的目的。
您的dubbo线程池很可能只在处理传入请求时生成新线程。
发布于 2020-09-24 03:00:08
这里是杜博线程模型(http://dubbo.apache.org/en-us/docs/user/demos/thread-model.html),有一张图片演示了杜博线程模型,您可以看到只有服务器有一个线程池,这意味着只有杜博提供程序有线程pool.because,它需要将I/O线程与非I/O线程分开。
https://stackoverflow.com/questions/54863325
复制相似问题