题目描述 给定多个有序链表,按有小到大的方式合并成一个链表 关键词:优先队列,链表 代码示例 因为每条链有序 借助优先队列,每次将每条链表的比较节点放入队列中,然后比较选择出一条链,将当前节点加入合并的链表中,然后将该节点的下一个节点放入队列中比较(如果存在)。 ...
分类:
其他好文 时间:
2020-05-01 15:10:20
阅读次数:
51
死锁与递归锁(了解) 当你知道锁的使用抢锁必须要释放锁,其实你在操作锁的时候也极其容易产生死锁现象(整个程序卡死 阻塞) 信号量(了解) 信号量在不同的阶段可能对应不同的技术点 在并发编程中信号量指的是锁!!! Event事件(了解) 一些进程/线程需要等待另外一些进程/线程运行完毕之后才能运行,类 ...
分类:
编程语言 时间:
2020-04-27 15:19:26
阅读次数:
57
第三章主要讲了栈和队列,还提到了递归,栈是先进后出,而队列是先进先出的。栈只需要在栈顶操作,就可以实现入栈出栈的操作,而队列需要头指针和尾指针,出队时输出队头,入队时从队尾进入。不过要注意,出栈或者出队列,都要注意是否为空,而入栈和入队列是要注意是否已经满。还有没有定义的时候,要注意初始化,而且栈和 ...
分类:
其他好文 时间:
2020-04-26 22:33:32
阅读次数:
77
一、Redis 事务的实现原理 一个事务从开始到结束通常会经历以下三个阶段: 1、事务开始 客户端发送 MULTI 命令,服务器执行 MULTI 命令逻辑。 服务器会在客户端状态(redisClient)的 属性打开 REDIS_MULTI 标识,将客户端从非事务状态切换到事务状态。 2、命令入队 ...
分类:
其他好文 时间:
2020-04-25 19:35:32
阅读次数:
67
SynchronousQueue 没有长度,每一个入队操作必须对应一个出队操作,或者每一个出队操作必须对应一个入栈操作,否则阻塞。SynchronousQueue内部提供两种模式TransferStack非公平模式(LIFO)和TransferQueue公平模式(FIFO)。 ...
分类:
编程语言 时间:
2020-04-23 23:22:51
阅读次数:
62
1 前言 与普通队列相比,阻塞队列另外支持两个附加操作,这两个附加的操作支持阻塞的插入和移除方法。 ①支持阻塞的插入方法:当队列满时,队列会阻塞插入元素的线程,直到队列不满。 ②支持阻塞的移除方法:在队列为空时,获取元素的线程会等待队列变为非空。 一般的阻塞队列相比,只能在“尾部入队、在头部出队”, ...
分类:
数据库 时间:
2020-04-22 13:17:35
阅读次数:
67
半平面交复习 计算几何易忘点 1. 叉积 a到b顺时针则为正,逆时针则为负(把a顺时针方向转到b的方向,夹角为 θ。当 0≤θ include include include include using namespace std; int read(){ int x=0,pos=1;char ch ...
分类:
其他好文 时间:
2020-04-21 10:05:12
阅读次数:
74
这种在图中找岛屿的题目我们在前面已经讲过了,这个题目同样属于这类题目,我们很自然想到的就是DFS和BFS方法。 一、题目描述 给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外 ...
分类:
其他好文 时间:
2020-04-20 12:04:17
阅读次数:
55
前言 上一章的工作队列模式中,生产者发布的一堆消息进入队列,消费者接收队列中的消息,每条消息只能发给一个消费者。 本章要做的是吧一条消息发送给多个消费者,这种模式就是Fanout Exchange(扇形交换机)“发布/订阅模式”,它会将消息路由给绑定到它身上的所有队列。 注意:该模式没有存储消息功能 ...
分类:
其他好文 时间:
2020-04-20 12:03:48
阅读次数:
80