首页 > 新文章
  • C++智能指针:weak_ptr实现详解 is a project mainly written in , based on the .文章目录weak_ptr描述声明作用原理实现函数成员使用总结 weak_ptr描述 声明 头文件: 模版类:template class weak_ptr 声明方式:std::weak_ptr statement 作用 根据boost库的官方描述,weak_ptr是...

  • C++智能指针: shared_ptr 实现详解 is a project mainly written in , based on the .文章目录shared_ptr描述声明作用原理实现函数使用关于shared_ptr循环引用问题 shared_ptr描述 声明 shared_ptr属于C++11特性中新加的一种智能指针,它的实现方式是模版类,头文件 template class shared_ptr 所以使用shared...

  • C++智能指针:unique_ptr详解 is a project mainly written in , based on the .文章目录unique_ptr描述声明作用函数指针描述总结 unique_ptr描述 声明 头文件: 模版类: 默认类型template > class unique_ptr数组类型template

  • Ceph-dencoder工具使用详解 is a project mainly written in , based on the .文章目录简介使用decode命令用法encode 简介 ceph-dencoder工具是一个序列化编码、解码并且打印ceph数据结构的工具。它主要用来调试和测试ceph不同版本之间的兼容性问题 该工具是由 ceph-common-12.2.1.06-0.el7.centos.x86_64 rpm包生成 本文章是根据ceph-...

  • Ceph-kvstore-tool 工具使用详解 is a project mainly written in , based on the .文章目录简介使用总结 简介 ceph-kvstore-tool工具是用来获取存放在leveldb或者rocksdb数据库中的键值元数据。并且该工具能够对kvstore中的数据进行配置,就像是对离线后的osd操作osd map一样 使用该工具,需要安装ceph-test-12.2.1.06-0.el7.centos.x86_6...

  • C++ 函数参数 值传递与引用传递 is a project mainly written in , based on the .以前我们在C语言中函数参数传递过程中,如果我们想要让当A函数作用域中的变量经过B函数处理之后的数值仍然在A函数中生效,这个时候函数参数的传递时需要引用方式去传递,方式如下: #include //函数参数为指针,通过修改指针里面的内容达到对main中b变量的修改 void func(int *a) {print...

  • 关于部署osd过程中:Device is in use by a device-mapper mapping问题解决 is a project mainly written in , based on the .ceph环境:12.2.1 使用古老的ceph-disk工具部署osd,仅仅prepare过程中就出现如上所示问题 Device is in use by a device-mapper mapping md127 解决方法如下: 由于device-mapper为系统自己的磁盘映射器,此时检查系统是否有逻辑卷 pvs lvs v...

  • C++ 拷贝构造函数和重载赋值运算符的区别 is a project mainly written in , based on the .文章目录拷贝构造函数重载赋值运算符 赋值运算符和拷贝构造函数最大区别是赋值运算符没有新的对象生成,而拷贝构造函数会生成新的对象。 为了更加形象 准确得描述 赋值运算符和拷贝构造函数得区别,将详细通过代码展示两者之间得差异。 拷贝构造函数 首先从构造函数说起,在C++面向对象的设计中,每一个对象代表一个抽象集合的实体,此时每...

  • Ceph-objectstore-tool工具使用详解 is a project mainly written in , based on the .文章目录简介使用OSD相关操作PG相关操作对象相关操作总结 简介 ceph-objectstore-tool工具,能够操作到ceph最底层的数据,包括pg,对象层级。它能够对底层pg以及对象相关数据进行获取、修改。并能够对一些问题pg和对象进行简单修复。所以使用该工具进行操作的时候需要谨慎(涉及到修改的操作最好备份一份数据)...

  • C++多线程:互斥变量 std::mutex is a project mainly written in , based on the .文章目录描述成员函数总结 描述 头文件 使用 std::mutex 简介 mutex是一种多线程变成中的同步原语,它能够让共享数据不被多个线程同时访问,它不支持递归得对互斥对象上锁特点 用方线程从它成功调用 lock 或 try_lock 开始,到它调用 unlock 为止占有 mutex线...

  • C++ 多线程:条件变量 std::condition_variable is a project mainly written in , based on the .文章目录描述使用 描述 头文件 定义 class condition_variable; 简介 之前我们也已经介绍过了C++多线程中互斥变量存在,已经足够支持多线程中对共享普通系统数据的合理访问。但是因为多线程中同一时刻必然会有一个线程持有锁,一个线程等待锁。而在代码中使用whi...

  • C++ 多线程:互斥对象 lock_gurad is a project mainly written in , based on the .描述 头文件:声明方式: template< class Mutex > class lock_guard;简介 lock_guard是一种互斥包装器,它提供了非常便捷的raii资源管控技术用来在对象生存周期内提供互斥锁。 lock_gurad很好得解决了互斥变量mutex的锁成员在函数异常期间无法正常回收资源的问题。...

  • C++ 多线程:future 异步访问类(线程之间安全便捷的数据共享) is a project mainly written in , based on the .文章目录future前言future描述future类成员使用总结 future前言 首先查看如下代码 #include #include #include #include using namespace std;void fun1(int n,in...

  • C++多线程:异步操作std::async和std::promise is a project mainly written in , based on the .文章目录std::async简介使用案例std::promise简介成员函数总结 之前的文章中提到了C++多线程中的异步操作机制 C++ 多线程:future 异步访问类(线程之间安全便捷的数据共享),接下来分享关于异步操作中 async和 promise的相关使用总结。 std::async 简介 头文件

  • C++多线程:thread类创建线程的多种方式 is a project mainly written in , based on the .文章目录描述函数成员简介总结 描述 头文件 声明方式:std::thread 简介 线程在构造关联的线程对象时立即开始执行,从提供给作为构造函数参数的顶层函数开始。如果顶层函数抛出异常,则调用 std::terminate。正如我们之前几篇说过的thread可以通过std::async和s...

  • C++多线程:package_task异步调用任何目标执行操作 is a project mainly written in , based on the .文章目录描述函数成员及使用总结 我们上一篇描述关于C++多线程中的异步操作相关库( async和 promise),本节将分享c++标准库中最后一个多线程异步操作库 package_task的学习笔记。 描述 头文件 声明方式: template< class R, class ...Args > c...

  • Linux C 多线程编程 is a project mainly written in , based on the .文章目录多线程的一些小知识:1创建线程 pthread_create2线程挂起 pthread_join3线程终止 pthread_exit4线程分离 pthread_detach5线程取消 pthread_cancel线程同步 pthread_mutex_t互斥变量 我们在写linux的服务的时候,经常会用到linux的多...

  • C++ 多线程:时间控制 is a project mainly written in , based on the .C++多线程库中的各个子库都有各自的时间控制方式,依此来进行多线程程序运行中cpu资源的精确控制。 使用std::chrono时间库可以提供微妙、毫秒、秒及以上的时间取用,并且能够获取当前系统时间。 如下代码 #include #include #include #incl...

  • Ubuntu18.04.1内核升级至5.0.0-25版本 is a project mainly written in , based on the .ubuntu18.04操作系统版本先已支持在线的内核版本升级,到目前为止18.04发布版已经拥有三个小版本了1,2,3。 其中18.04.01和18.04.03版本,安装好之后默认的是4.15内核版本,但是默认支持在线安装4.18和5.0.0内核版本。 具体升级步骤如下: 升级前备份当前系统镜像确认外网可用,同时配置好任意一个国内...

  • Linux进程间通信:无名管道 pipe is a project mainly written in , based on the .文章目录内核层实现结构通信原理特点使用函数声明使用实例单向通信双向通信编程注意事项管道中无数据时读操作会阻塞将管道的写端句柄关闭,不会影响读端数据读取管道中没有数据,写操作关闭则读操作会立即返回管道大小测试 64K管道发生写满阻塞,一旦有4k空间,写继续总结 内核层实现 结构 Linux操作系统中的无名管道结构如下图:...