async async其实就是对Generator的封装,只不过async可以自动执行next()。 async必须等到里面所有的await执行完,async才开始return,返回的Promise状态才改变。除非遇到return和错误。 async默认返回一个Promise,如果return不是一 ...
分类:
其他好文 时间:
2020-09-10 22:50:35
阅读次数:
47
threadpool类: class threadpool:noncopyable { }; 作用: 利用mymuduo::thread 完成对于线程池的封装线程池内部成员:线程集合m_threads: 用于保存线程池内的所有线程线程池任务队列m_queue 表示待执行的任务队列条件变量:m_not ...
分类:
其他好文 时间:
2020-08-29 15:28:28
阅读次数:
56
题记几个月以来,我一直在记录自己开发Elasticsearch应用程序的最佳实践。本文梳理的内容试图传达Java的某些思想,我相信其同样适用于其他编程语言。我尝试尽量避免重复教程和Elasticsearch官方文档中已经介绍的内容。本文梳理的内容都是从线上实践问题和个人总结的经验汇总得来的。文章从以下几个维度展开讲解:映射(Mapping)设置(Setting)查询方式(Querying)实战技巧
分类:
其他好文 时间:
2020-07-29 12:48:00
阅读次数:
83
Promise 源码 https://github.com/lfp1024/promise promise-a-plus const PENDING = 'PENDING' const REJECTED = 'REJECTED' const RESOLVED = 'RESOLVED' const r ...
分类:
其他好文 时间:
2020-07-21 01:26:28
阅读次数:
102
在Netty中 事务的处理都是放入自定义的Handler中的 如果某些业务比较耗时 最终也会阻塞线程 这时就需要任务队列来异步处理任务了。 1.用户自定义的普通任务 例: ctx.channel().eventLoop().execute(new Runnable() { @Override pub ...
分类:
Web程序 时间:
2020-07-20 10:56:39
阅读次数:
127
工欲善其事,必先利其器。 什么是Celery Celery是一个简单、灵活且可靠的,处理大量消息的分布式系统,专注于实时处理的异步任务队列,同时也支持任务调度。 上面的图是一个利用Celery进行异步处理的架构,属于生产者-消费者模式,架构由三部分组成: 消息中间件(message broker): ...
分类:
其他好文 时间:
2020-07-19 00:54:19
阅读次数:
106
什么是Celery Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理 Celery的优点 简单:一旦熟悉celery的工作流程后,配置和使用还是比较简单的 高可用:当任务执行失败或执行过程中发生链接中断,celery会自动尝试重新执行任务 快速: ...
分类:
其他好文 时间:
2020-07-17 22:12:25
阅读次数:
84
Redis实现分布式锁与任务队列的思路,附上源代码 文章步骤很详细较长,阅读完需有5分钟~ 一、正文 大家都知道在天猫、京东、苏宁等等电商网站上有很多秒杀活动,例如在某一个时刻抢购一个原价1999现在秒杀价只要999的手机时,会迎来一个用户请求的高峰期,会有几十万几百万的并发量,来抢这个手机,在高并 ...
分类:
其他好文 时间:
2020-07-12 10:32:35
阅读次数:
65
大概意思是:浏览器中的任务队列不止一个,且优先级也不同。基本上可以分为如下两种:macro-task: script(整体代码), setTimeout, setInterval, setImmediate, I/O, UI renderingmicro-task: process.nextTick ...
分类:
Web程序 时间:
2020-07-11 09:49:39
阅读次数:
80
?? 根据线程的实际情况,我们发现, 同样的时间里,下面的的效率远远大于上面的,所以我们要构建一种可以运行很多个逻辑片段,只进行一次创建和销毁的模型, 所以我们提出了线程池模型。 一个线程池的属性起码包含初始化线程数量、线程数组、任务队列。 初始化线程数量指线程池初始化的线程数, 线程数组保存了线程 ...
分类:
编程语言 时间:
2020-07-07 23:40:47
阅读次数:
118