摘要: c++链表实现的阻塞队列 最近从java源码里发现了阻塞队列的实现,觉得非常有趣。 首先,介绍下什么是阻塞队列。阻塞队列代表着一个队列可以线程安全的往该队列中写数据和从该队列中读数据。也就是说,我们可以在多个线程之间并发的进行写数据和读数据,而不会引发任何并发问题。 下面我们就说说如何实现一个阻塞队 阅读全文
posted @ 2020-10-25 23:31 封fenghl 阅读(441) 评论(0) 推荐(0) 编辑
摘要: 条件变量condition_variable的使用及陷阱 最近看代码发现,在多线程中实现有关throttle和阻塞等有关的功能时,条件变量的使用是最常见的。 首先先对条件变量有个基本的认识 条件变量的基础知识 条件变量std::condition_variable定义在头文件<condition_v 阅读全文
posted @ 2020-10-21 22:42 封fenghl 阅读(17301) 评论(3) 推荐(7) 编辑
摘要: docker的安装及初次使用 "Ubuntu 安装 docker " 遇到的问题 问题1 解决方法一: 对于 的镜像仓库来说,国内访问速度较慢,我们添加一个阿里云提供的 镜像加速器。 首先,我们需要编辑 文件: 然后加入如下内容: 修改之后,需要重启 服务,让修改生效。使用如下命令: 解决方法二( 阅读全文
posted @ 2020-03-14 16:49 封fenghl 阅读(472) 评论(0) 推荐(0) 编辑
摘要: 一种控制并发的实现方式 算法来源 这里的代码实现从ceph源码改编过来,这里进行了简化,主要是学习其中所涉及的c++知识点和算法思想 涉及到的知识点 三个关键的函数库: 这个类是对一个值的类型的封装,保证对该值的访问不会引起数据争用,并且可用于在不同线程之间同步内存访问,避免了对该数据的读写还需要手 阅读全文
posted @ 2020-03-08 00:43 封fenghl 阅读(555) 评论(0) 推荐(0) 编辑
摘要: C++关于锁的总结(一) 线程中的锁分为两种, 互斥锁 和 共享锁 。 相关的头文件有 ,前者具有 操作,用于实现互斥功能,后者具有 操作,用于完成共享锁操作。 这里先讨论 这个类。 共享锁 如果需要使用共享锁,则需要使用到 这个类。具体讲解见 "这里" 该锁可用于保护被多个线程同时访问的共享数据。 阅读全文
posted @ 2019-09-22 17:41 封fenghl 阅读(16871) 评论(7) 推荐(0) 编辑
摘要: AI机器人最高等级 题目描述 在小朱朱的游戏世界里,有n个AI机器人。 他们相互之间可以进行PK,胜方存活且升一级,负方直接淘汰。 高等级AI必定战胜低等级AI,同等级AI的PK结果必定一胜一负,且规定每级差距至多为1级。 一开始所有的AI机器人都是0级,小朱朱可以指定任意两个AI机器人进行PK。 阅读全文
posted @ 2019-09-22 17:18 封fenghl 阅读(472) 评论(0) 推荐(0) 编辑
摘要: "查看本机ssh公钥,生成公钥" 查看ssh公钥方法: 1. 打开git bash窗口 2. 进入.ssh目录: cd ~/.ssh 3. 找到id_rsa.pub文件: ls 4. 查看公钥:cat id_rsa.pub 或者 vim id_rsa.pub 何为公钥: 1. 很多服务器都是需要认证 阅读全文
posted @ 2018-11-16 13:21 封fenghl 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 看完剑指offer和编程之美,将单链表的知识点总结如下: 单链表所能遇到的知识: 所能组成的问题: 说明:链表的结构体为: 1 typedef struct ListNode_{ 2 int val; 3 struct ListNode_ *next; 4 }ListNode; 第一种:从无头单链表 阅读全文
posted @ 2018-08-31 18:25 封fenghl 阅读(1099) 评论(0) 推荐(0) 编辑
摘要: 题意:假设给定的已经是经过网页分词之后的结果,词语序列数组为W。其中W[0], W[1], ... , W[N]为一些已经分好的词语。假设用户输入的搜索关键词为数组Q。其中Q[0], Q[1], ... Q[m]为所有输入的搜索关键词。 例如,我们可以看到这样一个序列: w0, w1, w2, w3 阅读全文
posted @ 2018-08-29 22:41 封fenghl 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 题目:给定两个字符串s1和s2,要求判定s2是否能够被s1做循环移位(rotate)得到的字符串包含。例如,给定s1 = AABCD 和 s2 = CDAA, 返回true;给定s1 = ABCD 和 s2 = ACBD, 返回false. 解法一: 对s1循环移位,在进行字符串包含的判断,从而遍历 阅读全文
posted @ 2018-08-28 22:21 封fenghl 阅读(203) 评论(0) 推荐(0) 编辑