redis redis数据结构 String hash list set zset(sorted set) 一个redis实例最多提供16个数据库0 15,默认连接0,select i选择i号数据库 redis的应用场景 缓存(数据查询、短连接、新闻内容、商品内容) 聊天室的好友列表 任务队列(秒杀 ...
分类:
其他好文 时间:
2020-05-05 17:44:39
阅读次数:
76
ThreadPoolExecutor 中关闭线程池的方法 判断线程池状态的方法 shutdown() 调用 shutdown() 方法之后线程池并不是立刻就被关闭,因为这时线程池中可能还有任务正在执行,或是任务队列中有正在等待的任务,它会等待正在执行的任务和队列中等待的任务执行完毕后才彻底关闭。 注 ...
分类:
编程语言 时间:
2020-05-05 16:26:25
阅读次数:
190
1.宏任务: 分类:setTimeout setInterval requrestAnimationFrame 1>宏任务所处的队列就是宏任务队列 2>第一个宏任务列中只有一个任务,执行主线程的js代码 3>宏任务队列可以有多个 2.微任务: 分类:new promise().then(回调) pr ...
分类:
其他好文 时间:
2020-05-04 21:20:07
阅读次数:
69
最近自己写了一个线程池。 总的来说,线程池就是有一个任务队列,一个线程队列,线程队列不断地去取任务队列中的任务来执行,当任务队列中为空时,线程阻塞等待新的任务添加过来。 我是用queue来存放任务,vector存放thread*,然后用condition_variable 来设置线程阻塞和唤醒。 下 ...
分类:
编程语言 时间:
2020-05-03 15:02:49
阅读次数:
314
在多线程编程中,我们经常使用线程池来管理线程,以减缓线程频繁的创建和销毁带来的资源的浪费,在创建线程池的时候,经常使用一个工厂类来创建线程池Executors,实际上Executors的内部使用的是类ThreadPoolExecutor。它有一个最终的构造函数如下: corePoolSize:线程池 ...
分类:
编程语言 时间:
2020-05-01 00:44:27
阅读次数:
76
为什么要使用锁 加入甲乙同时下单购买商品A,下单前查询库存数量都是15,在下单的时候,甲下单更快,买走了10件。而乙下单时,还是以库存15来判断,这样就会出现数据错误。 在创建订单时候,假设有人和你同时对商品数量进行操作,要保证数据是安全的,可以使用乐观锁。在更新商品数量的时候,需要判断一下还是不是 ...
分类:
其他好文 时间:
2020-04-20 01:27:31
阅读次数:
140
Js异步机制 是一门单线程语言,所谓单线程,就是指一次只能完成一件任务,如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推。这种模式的好处是实现起来比较简单,执行环境相对单纯,坏处是只要有一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行。常见的浏览器无响应也就 ...
分类:
Web程序 时间:
2020-04-16 13:41:47
阅读次数:
97
1 Celery介绍 1、celery应用举例 1、Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理, 如果你的业务场景中需要用到异步任务,就可以考虑使用celery 2、你想对100台机器执行一条批量命令,可能会花很长时间 ,但你不想让你的程序 ...
分类:
其他好文 时间:
2020-04-11 20:09:48
阅读次数:
75
1 CPU高分析 1.1 说明(root执行) 建议使用root账号执行命令,使用其他账号登录可能会无法看到部分进程信息。 1.2 查看服务进程ID(ps) 命令格式: ps –ef | grep XXXX 1.3 查看机器CPU占用情况(top) 命令格式: top 执行结果如下,结果会动态刷新 ...
分类:
编程语言 时间:
2020-04-11 18:44:58
阅读次数:
70
JavaScript的单线程意思是JS引擎在执行和解释JS代码的时候,都是在一个线程里完成的,而这个线程也就是所谓的“主线程”,但是实际上在处理其他的一些特殊操作的时候,是会为其开辟新的线程来专门执行,比如: 处理Ajax请求 处理DOM事件 定时器 文件的读写 等等,这些也就是我们所说的“异步”操 ...
分类:
Web程序 时间:
2020-04-06 11:26:40
阅读次数:
75