Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Java服务器的单线程池还是多线程池?

Java服务器的单线程池还是多线程池?
EN

Stack Overflow用户
提问于 2009-09-17 00:07:10
回答 2查看 5.4K关注 0票数 13

我正在编写一个相当复杂的Java服务器应用程序,除了通常的请求-响应处理之外,它还具有重要的后台处理部分。一些后台处理是使用Quartz框架以类似cron的方式完成的。其他任务更多的是随需应变-如果一个新的客户端连接,它会创建额外的作业来偶尔更新它。cron任务也可以是多种多样的--有些是监视外部应用程序,有些是计算统计数据等等。

我使用了许多线程池来运行所有这些作业,想法是相似的作业将共享一个线程池,但不同的作业不会共享一个线程池。例如,监视器作业永远不会在统计信息池上运行,而统计信息作业永远不会在监视器池上运行。

另一方面,我知道有些人更喜欢只有一个线程池,在它上面运行所有的东西,没有任何分离。

我想知道在这种情况下最好的实践是什么。

分离线程池的优缺点是什么?

这有什么关系吗?

EN

回答 2

Stack Overflow用户

发布于 2009-09-17 00:37:11

答案取决于您是否需要在不同类型的活动之间隔离应用程序资源。

例如,我目前正在编写一个服务器应用程序,该应用程序由几个高吞吐量的编写器和潜在的许多读取器组成。读者会偶尔访问应用程序,但可能会请求大量数据(即长时间运行的请求)。我需要确保编写者永远不会挨饿,所以我将在我的设计中使用两个线程池进行读/写。如果读线程池暂时耗尽,写线程将不受影响;只有读请求将被延迟。

另一种方法是将PriorityQueueThreadPoolExecutor结合使用,并为写请求分配更高的优先级。

所以总而言之,我的建议是:从一个线程池开始,只有在有具体原因的情况下才会让你的设计变得更加复杂。

票数 6
EN

Stack Overflow用户

发布于 2009-09-17 00:15:59

这不是一个直接的答案,而是另一个建议:-(

您的Quartz作业可以暂停、取消等等,我们称之为"managed“。我猜你会创建一些UI来管理它们。

您是否意识到您的其他作业(“按需”)不会从相同的功能中受益,当然,除非您实现它?您是否考虑过将所有内容都设置为quartz job (即使它立即启动),以获得统一的代码?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1437389

复制
相关文章
ThreadLocal比FastThreadLocal慢在哪里?
吊打 ThreadLocal,谈谈 FastThreadLocal 为啥能这么快?
公众号 IT老哥
2021/12/22
5200
ThreadLocal比FastThreadLocal慢在哪里?
Python进阶28-Django 模板层(Jinja2)
-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltstack自动化运维统一配置管理工具。 4)Git、Jenkins自动化代码上线及自动化测试平台。 5)堡垒机,连接Linux、Windows平台及日志审计。 6)SQL执行及审批流程。 7)慢查询日志分析web界面。
DriverZeng
2022/09/26
1.8K0
Python进阶28-Django 模板层(Jinja2)
【愚公系列】2022年01月 Python教学课程 52-Django框架之jinja2模板
Jinja2:是 Python 下一个被广泛应用的模板引擎,是由Python实现的模板语言,他的设计思想来源于 Django 的模板引擎,并扩展了其语法和一系列强大的功能,尤其是Flask框架内置的模板语言
愚公搬代码
2022/12/01
1.3K0
【愚公系列】2022年01月 Python教学课程 52-Django框架之jinja2模板
为什么Python比C++慢很多?
话说为什么大家会集中讨论GIL?在这里题主的标准线是一个按bit处理的单线程DFS啊……几乎没有GIL发挥的余地好么……
程序员皮克
2021/12/18
7980
为什么Python比C++慢很多?
Jinja2初探
Jinja2 使用一个名为 Environment 的中心对象。这个类的实例用于存储配 置、全局对象,并用于从文件系统或其它位置加载模板。
lpe234
2020/07/27
5580
Java8 的 String Concatenate 比 StringBuilder Apporaches 慢?
问题1: 文章说,大量 String + 连接比 通过 相应的StringBuilder 连接慢,要是在 Java7 之前我信,可以在 Java8 以及之后,编译器自动帮助我们把 + 优化成 StringBuilder (StringBuffer) 了。难道 Java8 的 String Concatenate 比 StringBuilder (StringBuffer) 慢?带着这样的疑问,决定好好的亲自试验一番。
shengjk1
2020/03/04
6410
Java8 的 String Concatenate 比 StringBuilder Apporaches 慢?
问题1: 文章说,大量 String + 连接比 通过 相应的StringBuilder 连接慢,要是在 Java7 之前我信,可以在 Java8 以及之后,编译器自动帮助我们把 + 优化成 StringBuilder (StringBuffer) 了。难道 Java8 的 String Concatenate 比 StringBuilder (StringBuffer) 慢?带着这样的疑问,决定好好的亲自试验一番。
shengjk1
2020/02/25
3710
Jinja2语法小记
如果user为传入模板中的字典变量,则我们可通过”.“获取它的键值。 eg:user.username user.username等价于user[‘username’]
Cloud-Cloudys
2020/07/06
1.6K0
尤雨溪回应:Vite 真的比 Turbopack 慢 10 倍?
一周前,Vercel 宣布了 Webpack 的基于 Rust 的继任者 Turbopack。
ConardLi
2023/01/09
1.3K0
尤雨溪回应:Vite 真的比 Turbopack 慢 10 倍?
为什么 C++ 的标准输入流比 Python 慢
我想比较一下 C++ 和 Python 的标准输入,但实验的结果让人大吃一惊,C++ 慢了许多。下面是我的实验代码:
ClearSeve
2022/02/10
6640
用数据告诉你 Python 代码比 Java 慢 100 倍!
小伙伴们都知道,在系统的软件开发中,不仅仅是只使用一种语言,也会涉及到不同的语言。
老九君
2019/12/24
3.5K0
Jinja2用法总结
渲染模版时有两种传递参数的方式:用 var='value' 传递一个参数;使用字典组织多个参数,并且加两个*号转换成关键字参数传入。
步履不停凡
2019/09/11
2.1K0
【愚公系列】2022年01月 Django商城项目01-jinja2模板配置
文章目录 一、jinja2模板配置 1.安装jinja2模块 2.修改模板配置 3.全局模板配置 ---- 一、jinja2模板配置 1.安装jinja2模块 pip install jinja2 2.修改模板配置 TEMPLATES = [ { 'BACKEND': 'django.template.backends.jinja2.Jinja2',# 修改模板引擎 'DIRS': [os.path.join(BASE_DIR,'templates')],# 设置模
愚公搬代码
2022/01/04
3680
Shopee 送命题:进程切换为什么比线程切换慢
注意这里问的是为什么进程切换比线程慢,而不是问为什么进程比线程慢。当然这里的线程肯定指的是同一个进程中的线程。
飞天小牛肉
2022/02/23
6880
Shopee 送命题:进程切换为什么比线程切换慢
在什么情况下,Java比C++慢很多?
垃圾回收器。这是一把“双刃剑”。如果你的程序遵循“大部分对象都在年青代中消亡”模型,垃圾回收器是非常有利的(很少的碎片,更好的缓存局部性)。但是,如果程序不遵循该模型,JVM将花费很多资源来回收堆内存。
哲洛不闹
2018/09/19
9640
尤雨溪回应:Vite 真的比 Turbopack 慢 10 倍吗?
一周前,Vercel 宣布了 Webpack 的基于 Rust 的继任者 Turbopack。
ssh_晨曦时梦见兮
2022/11/14
9940
尤雨溪回应:Vite 真的比 Turbopack 慢 10 倍吗?
为什么FPGA主频比CPU慢,却可以帮其加速?
为什么FPGA主频比CPU慢,却可以帮其加速? 我们知道,FPGA的频率一般只有几百MHz,而CPU的频率却高达数GHz。那么,有不少网友心中就有一个疑问:“为什么FPGA主频比CPU慢,但却可以用来
FPGA技术江湖
2021/04/14
1.7K0
为什么FPGA主频比CPU慢,却可以帮其加速?
Django 常用配置笔记
在配置 Django 项目环境的时候,先自己打印 BASE_DIR 看看路径指向哪,因为会用到很多次这个 BASE_DIR ,了解这个 BASE_DIR 基目录,好在其他配置中使用到更好理解。
忆想不到的晖
2021/12/06
5270
Django 常用配置笔记
Ansible Jinja2 模板使用
3、 该用户也被 ansible 使用,因为几乎所有的生产环境都是禁止 root 远程登录的(因此该 yun 用户也进行了 sudo 提权)。
踏歌行
2020/10/15
4.9K0
Ansible Jinja2 模板使用
css加载慢导致加载瞬间白屏(dom比css加载快导致)
2,css样式压缩下,用sass编译一下,放在head顶部,head再用incloud包起来,放在文件夹;
kirin
2020/11/30
2.2K0

相似问题

Django查询比相同Postgres查询慢40倍?

23

比LLT慢?

12

比FPU慢?

35

为什么Django的刷新速度比PHP站点慢?

13

mongodb比sqlite慢4倍,比csv慢2倍?

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文