Souleigh ✨ Souleigh ✨
4年前
为什么要用 setTimeout 模拟 setInterval ?
在JS事件循环之宏任务和微任务中讲到过,setInterval是一个宏任务。用多了你就会发现它并不是准确无误,极端情况下还会出现一些令人费解的问题。下面我们一一罗列..推入任务队列后的时间不准确定时器代码:setInterval(fn(), N);上面这句代码的意思其实是fn()将会在N秒之后被推入任务队列。所以,在setInterval
捉虫大师 捉虫大师
4年前
一种极致性能的缓冲队列
本文已收录https://github.com/lkxiaolou/lkxiaolou欢迎star。背景在多线程下的生产者消费者模型中,需求满足如下情况:对生产者生产投递数据的性能要求非常高多个生产者,单个(多个也可以,本文只介绍单个的情况)消费者当消费者跟不上生产者速度时,可容忍少部分数据丢失生产者是单条单条地生产数据举个日志采集的例子,日志在不同的
Karen110 Karen110
3年前
手把手教你在Windows下设置分布式队列Celery的心跳轮询
/1前言/大家好,我是吴老板。用Celery官方的话来说,Celery是一个非常优秀的分布式队列,可应用于分布式共享中间队列和定时任务等等。/2 版本的差异/    Celery有很多个版本,各版本之间的差异可谓不小,比如最新的Celery6.0版本在稳定性远不如Celery4.0,所以在使用不同版本的时候,系统给到我们的反馈可能并不
Wesley13 Wesley13
3年前
JAVA线程池ThreadPoolExecutor与阻塞队列BlockingQueue .
从Java5开始,Java提供了自己的线程池。每次只执行指定数量的线程,java.util.concurrent.ThreadPoolExecutor就是这样的线程池。以下是我的学习过程。首先是构造函数签名如下:\java\viewplain(http://my.oschina.net/u/1398304/admin/)
Stella981 Stella981
3年前
Redis基本操作——队列 List(原理篇)
Redis基本操作——List(原理篇)  学习过数据结构的同学,一定对链表(LinkedList)十分的熟悉。相信我们自己也曾经使用过这种数据结构。  链表分为很多种:单向链表,双向链表,循环链表,块状链表\1(https://www.oschina.net/action/GoToLink?url
Stella981 Stella981
3年前
RabbitMQ通过HTTP API获取队列消息内容
RabbitMQ通过HTTPAPI获取队列消息内容背景为配合公司数据中台建设,我们对公司内部使用的mysqlbinlog数据分发中间件(现已开源:https://gitee.com/kekingcn/kekingbinlogdistributor(https://gitee.co
Wesley13 Wesley13
3年前
(十六)java多线程之优先队列PriorityBlockingQueue
本人邮箱:kco1989@qq.com(https://www.oschina.net/action/GoToLink?urlmailto%3Akco1989%40qq.com)欢迎转载,转载请注明网址http://blog.csdn.net/tianshi\_kco(https://www.oschina.net/action/
Easter79 Easter79
3年前
Swoole2.0协程客户端连接池的实现
Swoole2.0官方默认的实例是短连接的,在请求处理完毕后就会切断redis或mysql的连接。实际项目可以使用连接池实现复用。实现原理也很简单,使用SplQueue,在请求到来时判断资源队列中是否有可用的连接,如果有直接拿来复用。如果没有就创建一个新的连接。在连接使用完毕后再讲它重新放回到队列,此连接就可以被其他协程复用。$count
Stella981 Stella981
3年前
RabbitMq学习(二)RabbitMQ的消息确认机制
一.为什么有消息确认机制在RabbitMq中,一个消息从产生到最终的消息接受,中间大致会有三个环节,首先是消息到达交换机、然后是消息通过交换机到达队列,最后消费者消费绑定的队列消息。 但是在这个过程中,如果出现网络或者系统的异常,就会导致消息不能被正常消费。如果不能正常消费消息,会造成两方面的问题。 1.1在服务端消息到
Stella981 Stella981
3年前
RabbitMQ之概念介绍(二)
简介:  MQ全称为MessageQueue,消息队列是一种应用程序间的通信方法。  其是消费者生产者模型的一个典型代表,一端往消息队列中不断写入消息,另一端不断读取/订阅消息。简单使用场景举例:  将项目中无需即时返回且耗时的操作提取出来,进行异步处理,大大降低了服务器的请求响应时间。  如:打印日志模块无需即时返回