实时监测容器大小如何做到最优效能

问题描述

近期遇到一个问题,后台程序将要承受巨大访问压力,于是将访问暂存于一个linkedlist中,不做任何其他处理,使得响应请求的线程能及时再次响应请求,这里将有另外一个线程从这个linkedlist中取得访问并执行,返回结果。问题就是后一个线程需要不停的判断list的大小,我所做的就是一个无限循环过程,考虑到服务器性能,不知道有没有更好的办法使得能及时知道容器中是否有新请求,而不用在容器中没有请求时做判断。问题补充:感谢llade的回答,我用的jdk是1.6的,这个线程池自己维护的fifo队列有多长,还有它本身维护fifo的效能是不是较高,我可以去试验比较一下效能。

解决方案

后一个线程可以不是一个线程可以是一个线程池,如果你JDK5的话。可以用Executors.newFixThreadPool(5);得到一个5个线程的线程池。然后把你的请求包装成runnable。线程池自己维护一个FIFO队列,当超过5个任务在同时运行的时候,后续的任务会自动加到队列当中。当运行的5个任务有其中一个已经完成,线程池会从队列中取最先加进去的任务执行。当所有任务都运行完了。5个线程会在那里等待(不消耗CPU时间)。
解决方案二:
补充:如果你的请求是线程不安全的,那么把线程池的大小设置为1即可。

时间: 2024-11-08 21:40:52

实时监测容器大小如何做到最优效能的相关文章

[收藏学习]Linux的实时监测命令

十八.  和系统运行状况相关的Shell命令:     1. Linux的实时监测命令(watch):     watch 是一个非常实用的命令,可以帮你实时监测一个命令的运行结果,省得一遍又一遍的手动运行.该命令最为常用的两个选项是-d和-n,其中-n表示间隔多少秒 执行一次"command",-d表示高亮发生变化的位置.下面列举几个在watch中常用的实时监视命令:     /> watch -d -n 1 'who'   #每隔一秒执行一次who命令,以监视服务器当前用户登

PostgreSQL 异步消息实践 - 亿级/分钟 FEED系统实时监测

标签 PostgreSQL , 异步消息 , 触发器 , 规则 , insert on conflict , 实时分析 背景 在很多业务系统中,为了定位问题.运营需要.分析需要或者其他需求,会在业务中设置埋点,记录用户的行为在业务系统中产生的日志,也叫FEED日志. 比如订单系统.在业务系统中环环相扣,从购物车.下单.付款.发货,收货(还有纠纷.退款等等),一笔订单通常会产生若干相关联的记录. 每个环节产生的属性可能是不一样的,有可能有新的属性产生,也有可能变更已有的属性值. 为了便于分析,通常

进程监控-关于windows下非子进程之间的运行状态实时监测

问题描述 关于windows下非子进程之间的运行状态实时监测 情况是这么回事 我在做个windows平台的东西,需要一个管理进程,管理着一堆服务进程,然后我需要在服务进程异常关闭的时候实时通知管理进程. 因为实时性要求的原因,所以心跳的方式直接被我无视了. 因为主要是想达到服务进程异常关闭直接宕掉的情况,因此我找来找去也没啥好办法. 唯一可以借鉴的方法是socket的方式,当一对socket连接中的服务器和客户端,服务器用recv阻塞住,当客户端异常关闭的时候服务器recv直接返回SOCKETE

医疗大健康行业案例(老人健康实时监测和预警) - 阿里云RDS PostgreSQL最佳实践

标签 PostgreSQL , pipelineDB , 流式计算 , 独立事件相关性 , 舆情分析 , 实时状态分析 , 递归查询 , 时序数据 背景 人的身体和机器差不多,随着年龄的增长,器官逐渐老化,毛病也会越来越多,注意保养是一方面,另一方面也需要注意实时的监测和发出预警,在问题萌芽状态就解决掉. 以往我们检查身体得去医院或专业的体检机构,很麻烦,随着科技的进步,一些健康指标的监测变得更加方便,例如手环也是一个普及很快的监控检测终端(目前已能够检测心跳.温度.运动等各项指标),未来这种终

android studio不能实时监测代码拼写错误的问题

问题描述 android studio不能实时监测代码拼写错误的问题 为什么我的代码拼写错误,studio不显示任何提示或警告呢? 就像eclipse中的红曲线一样 解决方案 android studio是会提示代码错误的,除非你的代码没有错 解决方案二: android studio代码格式化问题 解决方案三: 我找到错了,我是没有选上POWER SAVE MODE··· 解决方案四: 我也有一样的问题,不知道是不是跟我更新了有关···请问楼主找到问题了吗 解决方案五: 这个博客上有Andro

安装apachetop工具实时监测apache运行情况

我们经常会需要知道服务器的实时监测服务器的运行状况,比如哪些 URL 的访问量最大,服务器每秒的请求数,哪个搜索引擎正在抓取我们网站?面对这些问题,我们虽然可以去分析查看统计访问日志文件,但是却不能让我们实时统计,不能给我们直观的统计数据.现在好了,apachetop这个工具就可以实时的跟踪log的变化,能查看访问者正在查看哪些文件,和访问者IP等信息. 1. apachetop安装 # rpm -ivh http://mirrors.hustunique.com/epel/5/i386/epe

麦考林再与第三方物流结盟,实现配送信息实时监测

此前向同行开放物流平台后,麦考林又与多家第三方物流结盟,从而让消费者实现了配送信息实时监测. 据了解,麦考林自主开发的TMS物流管理系统与合作的第三方物流公司对接完成后,消费者可实时查询包裹从出库.城际运输.到"最后一公里"的每一个配送状态,还可查询快递站点名称和电话等信息. 麦考林相关负责人表示,目前80多家与麦考林合作的COD(货到付款)公司全部接入TMS系统,除邮政系统外的配送都实现了可追踪,该系统能通过EMS的网站查询. 近年来,随着国内电子商务迅速成长,电商企业纷纷开放物流平

tawkon:实时监测手机辐射量

tawkon随着移动互联的迅猛发展,手机的使用频率越来越高.有些人甚至如厕的时候都要随身携带手机.想必大家都知道 手机辐射对人体有害.虽然知道有害,但是 普通的手机很难告知实时又准确的辐射量.今天推荐给大家的tawkon就是一款能够实时监测手机辐射量的移动应用.目前适用于Android. Blackberry.iPhone.Windows Mobile和Palm等智能手机.iOS用户需要越狱后在cydia搜索安装.目前官方正在进行联名上书申请上架App store.tawkon android

容器大小的改变以及容器操作可能使迭代器失效、vector对象的容量变化

1 改变容器的大小 我们可以使用resize来增加或缩小容器,与往常一样,array不支持resize.如果当前大小大于所要求的大小,容器后面的元素会被删除:如果当前大小小于新大小,会将新元素添加到容器后部:  list<int> ilist(10,42);   //10个int:每个的值都是42 ilist.resize(15);   //将5个值为0的元素添加到ilist的末尾 ilist.resize(25,-1);  //将10个值为-1的元素添加到ilist的末尾 ilist.res