Souleigh ✨ Souleigh ✨
3年前
为什么要用 setTimeout 模拟 setInterval ?
在JS事件循环之宏任务和微任务中讲到过,setInterval是一个宏任务。用多了你就会发现它并不是准确无误,极端情况下还会出现一些令人费解的问题。下面我们一一罗列..推入任务队列后的时间不准确定时器代码:setInterval(fn(), N);上面这句代码的意思其实是fn()将会在N秒之后被推入任务队列。所以,在setInterval
Easter79 Easter79
3年前
springboot~rabbitmq自己通过UI手动发布队列需要注意的地方
springboot里发布队列消息为了兼容性和可读性更好,我们一般使用json字符串做为数据载体。publicvoiddecreaseCallMonitor(CallMonitorInfocallMonitorInfo)throwsException{try{rabbitTe
Stella981 Stella981
3年前
JavaScript:再谈Tasks和Microtasks
JavaScript是单线程,也就是说JS的堆栈中只允许有一类任务在执行,不可以同时执行多类任务。在读js文件时,所有的同步任务是一条task,当然了,每一条task都是一个队列,按顺序执行。而如果在中途遇到了setTimeout这种异步任务,就会将它挂起,放到任务队列中去执行,等执行完毕后,如果有callback,就把callback推入到Tasks中去,
Wesley13 Wesley13
3年前
C++ 多线程编程总结
在开发C程序时,一般在吞吐量、并发、实时性上有较高的要求。设计C程序时,总结起来可以从如下几点提高效率:并发异步缓存下面将我平常工作中遇到一些问题例举一二,其设计思想无非以上三点。1任务队列1.1   以生产者消费者模型设计任务队列      生产者消费者模型是人们非常熟
Wesley13 Wesley13
3年前
OSSIM中分布式消息队列应用
OSSIM中分布式消息队列应用1\.消息队列处理企业日志数量正在以指数级形式高速增长,日志数据的具有海量、多样、异构等特点,基于传统的单一节点混合式安装的OSSIM平台(指OSSIM4.4及以下系统),无法满足海量日志分析要求。在OSSIM4.4以后的系统中增加了中间件RabbitMQ,可通过RabbitMQ将系统中各组件解除耦合,避免
Stella981 Stella981
3年前
RabbitMQ 简介
概述RabbitMQ是基于AMQP实现的一个开源消息组件,主要用于在分布式系统中存储转发消息,由因高性能、高可用以及高扩展而出名的Erlang语言写成。特点高可靠:RabbitMQ提供了多种多样的特性让你在可靠性和性能之间做出权衡,包括持久化、发送应答、发布确认以及高可用性。高可用队列:支持跨机器集群,支持队列安全镜像
Wesley13 Wesley13
3年前
MQ之对比
activeMQ:高效、可扩展、稳定安全企业级消息通信rabbitMQ:分布式系统可靠、可扩展、功能丰富,内存式堆积,某些条件下触发换页动作将内存中消息换页到磁盘;支持多租户  不支持重试队列,二次封装延迟队列实现呢  拉模式,不回溯,支持消息追踪  多租户kafka:高吞吐量分布式发布订阅消息系统,可水平扩展,磁盘式堆积,冗余功能
Easter79 Easter79
3年前
Swoole2.0协程客户端连接池的实现
Swoole2.0官方默认的实例是短连接的,在请求处理完毕后就会切断redis或mysql的连接。实际项目可以使用连接池实现复用。实现原理也很简单,使用SplQueue,在请求到来时判断资源队列中是否有可用的连接,如果有直接拿来复用。如果没有就创建一个新的连接。在连接使用完毕后再讲它重新放回到队列,此连接就可以被其他协程复用。$count
Stella981 Stella981
3年前
RabbitMQ之概念介绍(二)
简介:  MQ全称为MessageQueue,消息队列是一种应用程序间的通信方法。  其是消费者生产者模型的一个典型代表,一端往消息队列中不断写入消息,另一端不断读取/订阅消息。简单使用场景举例:  将项目中无需即时返回且耗时的操作提取出来,进行异步处理,大大降低了服务器的请求响应时间。  如:打印日志模块无需即时返回
新支点小玉 新支点小玉
10个月前
软件测试需求分析,先搞清楚这几条
需求规格说明书的检查,又叫黑盒静态测试,即不知道代码,又不执行代码,在什么都不了解的情况下,进行测试。一、检查要点:1、正确性:对照原始需求,需求是一定,不会产生误解的2、必要性:需求不能多,也不能少3、优先级:划分各个需求项,风险评估中的重要一点,有可能