首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

令仔学多线程系列(二)----自定义Queue队列

之前做了一个新的需求,需要从每一次search请求返回中获取相关的数据,然后把这些获取到的数据做异步处理,写入缓存并同步到数据库中。如何做异步在这就想到了用队列的方式来实现,一开始是用的BlockingQueue,一遍从队尾push,另一边从队首取数据。 但是在这个地方用BlockingQueue的时候就会有点问题,首先是如果不给这个队列设置大小的话,时间长了很可能会吧内存给搞瘫了,但是如果给BlockingQueue设置了大小的话(ps:当时设置的是2000),我们的主流程是search,其他的业务功能的开发不能够影响到search的运行(PS:每个平台对search返回的时间都有限制的),当队列满了之后,再多来的任务就会被挂起,一直等到队列中有空余位置才会被执行。这样的话我们整个的流程就会Down掉。 所以就自己封装了一个Queue,当队列满了之后,多余的数据就会被扔掉,当然不是所有的业务场景都适合使用。仅供参考借鉴。

02

使用ApDiag工具进行WinCC脚本诊断

1使用ApDiag工具进行WinCC脚本诊断概述 WinCC 的C脚本功能非常强大,可以提供较高的自由度。但是,不恰当地组态和使用脚本功能会显著降低系统性能,也可能导致系统崩溃。本文所讨论的脚本问题主要为C脚本的阻塞和挂起问题,即如果在过小的周期内正在运行的动作太多或者动作的执行时间过长(要处理的动作将越聚越多),或者动作已被挂起(休眠、循环、输出对话框、等待另一个应用程序的响应...),则等待队列可能会溢出。所有其它动作均将积聚在等待队列中,不能及时进行处理。 针对以上问题,可以使用 ApDiag 诊断工具进行分析和诊断,ApDiag 工具主要可以提供以下功能:

02
领券