摘要: packaged_task 背景 启发于function pointer 采用类似 promise 的设计 方便的获取线程运行结果 原理 生产者 - 消费者模型 基本函数 生产函数,分两步 设置value或者exception 设置shared state // 设置value或者exception 阅读全文
posted @ 2021-05-13 23:52 Jamgun 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 背景 不想利用async提供的线程模型 还想方便的获取线程运行结果 原理 生产者 - 消费者模型 基本函数 生产函数,分两步 设置value或者exception 设置shared state template <class R&> // 设置value或者exception后,立即将shared 阅读全文
posted @ 2021-05-13 23:49 Jamgun 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 背景 C++11添加了thread,可以通过std::thread()方便的创建线程 thread不能方便的获取线程运行结果 用法 返回值为std::future(下面会讲到),第一个参数policy,第二个参数为function,可以是lamda template< class Function, 阅读全文
posted @ 2021-05-13 23:48 Jamgun 阅读(327) 评论(0) 推荐(0) 编辑
摘要: Redis 安装教程 只需要三步 下载安装包 进入官网找到下载地址https://redis.io/download,建议选择stable版本 直接点击下载,或者 wget https://download.redis.io/releases/redis-6.2.2.tar.gz 解压,并进入目录 阅读全文
posted @ 2021-04-27 23:16 Jamgun 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 什么是字符编码 计算机世界只认识0和1,如果想要表示多种多样的字符,需要确定一种01串到字符的映射,比如可以规定"11"代表“我” 01串越长,表示的字符越多,比如8位可以表示(1 << 8)个字符,但是每个字符占用的空间也相应变多 各种不同的映射规则,就是各种编码标准,其中有几种业界公认的编码标准 阅读全文
posted @ 2021-04-26 23:57 Jamgun 阅读(549) 评论(0) 推荐(0) 编辑
摘要: 磁盘IO测试工具fio入门 基于linux,本文从安装,参数介绍到运行,手把手教你打开fio的大门,详细的调参和各种介质的测试,留坑待填 fio安装 下载fio代码 需要低版本fio,可切换到某tag:git checkout fio-3.10 安装fio Just type:: $ ./confi 阅读全文
posted @ 2021-04-21 00:00 Jamgun 阅读(293) 评论(0) 推荐(0) 编辑
摘要: #C++缺省参数问题 一般函数 有函数声明时,默认参数可以放在函数声明或者定义中,但只能放在二者之一,建议放在声明中 没有函数(原型)时,默认参数在函数定义时指定 static void Test0(int a = 0); ... void Test0(int a) { cout << a << e 阅读全文
posted @ 2021-04-19 23:48 Jamgun 阅读(950) 评论(2) 推荐(1) 编辑
摘要: Frangipani是一篇1997年**“分布式文件系统”的论文,其中关于缓存一致性**,分布式事务和分布式故障恢复的简单并且优秀的设计思想,依旧值得我们学习和借鉴 本文将按照以下几个方面透彻介绍Frangipani的方方面面 一、Background 1.历史背景 在1997年,笔记本还不流行,主 阅读全文
posted @ 2021-04-16 19:41 Jamgun 阅读(598) 评论(0) 推荐(0) 编辑
摘要: shared_from_this() 实现原理 shared_ptr 实现原理 作用 C++中采用new和delete来申请和释放内存,但如果管理不当,很容易出现内存泄漏 stdshared_ptr, stdunique_ptr, std::weak_ptr,三种智能指针类,可以自动管理内存 使用示 阅读全文
posted @ 2021-04-11 19:33 Jamgun 阅读(2855) 评论(0) 推荐(2) 编辑
摘要: 问题描述 C++ struct 重载比较操作符 可以实现按照重载函数的规则排序; 如果 重载比较操作符 时,不是按照确定的大小顺序,而是一种随机的大小问题,会出现访问越界的问题? 问题复现 在写代码的过程中,出现了上述的问题,简化后的代码如下,可以在多次运行中出现core #include<bits 阅读全文
posted @ 2021-03-16 11:17 Jamgun 阅读(53) 评论(0) 推荐(0) 编辑