c++
青丶空゛
一歩ずつ歩み続けてはじめて千里の遠くに行き着けるし.
(如果个别文章图片不见了,建议访问我的博客园找对应文章,[https://www.cnblogs.com/ailumiyana],懒癌又犯了,懒得改了 哈哈)
展开
-
C++智能指针,指针容器原理及简单实现(auto_ptr,scoped_ptr,ptr_vector)
C++智能指针,指针容器原理及简单实现(auto_ptr,scoped_ptr,ptr_vector).C++智能指针,指针容器原理及简单实现(auto_ptr,scoped_ptr,ptr_vector).前言auto_ptrscoped_ptrptr_vector前言最近再写一个muduo的异步日志接触了很多智能指针,但是又不打算用boos...原创 2018-08-10 10:04:30 · 980 阅读 · 0 评论 -
整理的muduo网络库的c++11版
整理的muduo网络库的c++11版因为SimpleMuduo不是稳定版,于是新建了一个仓库维护下这个c++11版。小bug会在这里修复,SimpleMuduo不再更新,有兴趣的话可以一起维护一下。github : https://github.com/BethlyRoseDaisley/cpp11_muduo.├── bin│ └── example_server├── bui...原创 2019-04-29 23:40:41 · 5758 阅读 · 3 评论 -
cmake使用详解
文章目录cmake使用笔记基本使用方法相较于makefile的优点常用语法cmake_minimum_requiredprojectPROJECT_SOURCE_DIRsetinclude_directorieslink_directories常用变量CMAKE_CURRENT_LIST_DIRCMAKE_ARCHIVE_OUTPUT_DIRECTORYCMAKE_LIBRARY_OUTPUT_D...原创 2019-04-17 00:35:45 · 4022 阅读 · 0 评论 -
如何用redis设计数据库初探
redis设计关系数据库文章目录redis设计关系数据库@[toc]前言设计用户信息表结构hash存储记录set存储id图示索引/查询:1、select*2、根据主键查询记录3、其他列索引c++ 实现前言最近需要一张用户信息表,因为数据量并不大,想先放在内存中,等需求变更了,再移到磁盘上,或者往mysql塞,那么问题来了,怎么用redis的数据类型设计一个关系数据库呢。redis只有key...原创 2019-04-07 00:51:53 · 349 阅读 · 0 评论 -
一个基于C++11的定时器队列(timerfd,poll实现)
文章目录前言优点test源代码hppcpp前言最近小程序要用到定时器,找了一圈也没找到合适的,最后还是绕回来选择了muduo里面的TimerQueue,整理了下它的代码,独立了出来,因为实在懒得从头写一个- -!。原来的muduo中TimerQueue是专为EventLoop提供定时功能的组件,我在笔记muduo网络库学习笔记(三)TimerQueue定时器队列中解读过muduo这块代码...原创 2019-01-24 10:56:15 · 1196 阅读 · 2 评论 -
muduo网络库设计总结
文章目录muduo网络库简介muduo网络库模块组成Recator反应器EventLoop的两个组件TimerQueue定时器EventfdConnector和Acceptor连接器和监听器AcceptorConnectorTcpConnectionTcpServer和TcpClientmuduo中的线程安全日志AsyncLogging异步日志本篇结束muduo网络库部分学习的笔记,总结一下m...原创 2019-04-29 23:51:12 · 3279 阅读 · 0 评论 -
基于C++11实现线程池的工作原理.
基于C++11实现线程池的工作原理.文章目录基于C++11实现线程池的工作原理.简介线程池的组成1、线程池管理器2、工作线程3、任务接口,4、任务队列线程池工作的四种情况.1、主程序当前没有任务要执行,线程池中的任务队列为空闲状态.2、主程序添加小于等于线程池中线程数量的任务.3、主程序添加任务数量大于当前线程池中线程数量的任务.4、主程序添加任务数量大于当前线程池中线程数量的任务,且任务缓冲队...原创 2018-11-25 20:08:03 · 3493 阅读 · 1 评论 -
muduo网络库学习笔记(五) 链接器Connector与监听器
muduo网络库学习笔记(五) 链接器Connector与监听器Acceptor标签: muduo Connector Acceptor文章目录muduo网络库学习笔记(五) 链接器Connector与监听器AcceptorConnector系统函数connect处理非阻塞connect的步骤:Connetor时序图Acceptor系统函数acceptSocket的封装Acceptor的封装A...原创 2018-11-17 13:22:26 · 350 阅读 · 0 评论 -
muduo网络库学习笔记(四) 通过eventfd实现的事件通知机制
muduo网络库学习笔记(四) 通过eventfd实现的事件通知机制文章目录muduo网络库学习笔记(四) 通过eventfd实现的事件通知机制eventfd的使用eventfd系统函数使用示例EventLoop对eventfd的封装工作时序`runInLoop()``queueInLoop()``wakeup()``handleRead()``doPendingFunctors()`总结上...原创 2018-11-14 23:35:31 · 444 阅读 · 0 评论 -
muduo网络库学习笔记(三)TimerQueue定时器队列
muduo网络库学习笔记(三)TimerQueue定时器队列文章目录muduo网络库学习笔记(三)TimerQueue定时器队列Linux中的时间函数timerfd示例muduo中对timerfd的封装TimerQueue的结构.Timer的容器.TimerQueue私有接口介绍.添加定时器更新定时器时序图TimerQueue源码TimerQueue使用示例本章整理muduo中的Timer...原创 2018-11-11 19:15:17 · 1014 阅读 · 0 评论 -
muduo学习笔记(二)Reactor关键结构
muduo学习笔记(二)Reactor关键结构文章目录muduo学习笔记(二)Reactor关键结构Reactor简述什么是ReactorReactor模型的优缺点poll简述poll使用样例muduo Reactor关键结构ChannelPollerEventLoopReactor时序图测试程序-单次触发的定时器Reactor简述什么是ReactorReactor是一种基于事件驱动的设...原创 2018-10-31 22:47:01 · 338 阅读 · 0 评论 -
一个linux下简单的纯C++实现Http请求类(GET,POST,上传,下载)
一个linux下简单的纯C++实现Http请求类(GET,POST,上传,下载)文章目录一个linux下简单的纯C++实现Http请求类(GET,POST,上传,下载)@[toc]HttpRequest类设计最近写了点关于Http上传下载文件相关的,于是今天整理下代码。Http协议简述HttpRequest类设计使用示例##Http协议简述协议:网络协议的简称,网络协议是通信计算机双...原创 2018-10-24 10:43:57 · 6366 阅读 · 6 评论 -
Muduo学习笔记(一) 什么都不做的EventLoop
Muduo学习笔记(一) 什么都不做的EventLoopEventLoopEventLoop的基本接口包括构造、析构、loop()。One Loop Per Thread 一个线程只有一个EventLoop对象、如果当前线程创建了其他 EventLoop对象,则终止程序.CurrentThreadCurrentThread 通过__thread 关键字和系统调用syscal...原创 2018-10-25 20:22:03 · 386 阅读 · 0 评论 -
一个轻巧高效的多线程c++stream风格异步日志(二)
一个轻巧高效的多线程c++stream风格异步日志(二)一个轻巧高效的多线程c++stream风格异步日志(二)前言LogFile类AsyncLogging类AsyncLogging实现增加备用缓存结语前言本文紧接上一篇文章: 介绍上文中的一条条日志是如何异步导入本地文件的. 首先会简单介绍下LogFile类,之后会具体讲解下AsyncLogg...原创 2018-09-05 17:25:45 · 1864 阅读 · 6 评论 -
一个轻巧高效的多线程c++stream风格异步日志(一)
一个轻巧高效的多线程c++stream风格异步日志一个轻巧高效的多线程c++stream风格异步日志前言功能需求性能需求Logger实现LogStream类Logger类LogStream及Logger cpp源码前言本文主要实现muduo的异步日志.省去boost库中特性的引用,轻巧简洁。对于编程而言,日志是必不可少的,对于关键进程,...原创 2018-08-24 09:21:47 · 2875 阅读 · 1 评论 -
go路由httprouter中的压缩字典树算法图解及c++实现
go路由httprouter中的压缩字典树算法图解及c++实现前言准备从嵌入式往go后端转,今年准备学习一下gin框架,决定先从这个轻量级的路由请求器着手,本文讲讲它用到的压缩字典树算法。httprouter简介HttpRouter是一个Go编写的轻量级的高性能Http请求路由器(也可称为多路选择器multiplexer简称mux)与Go的net/http包的默认mux不同,该路由器支持...原创 2019-05-01 11:51:22 · 2436 阅读 · 0 评论