E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Muduo
再来理解Timestamp[1-2-1]
Timestamp.h#ifndef
MUDUO
_BASE_TIMESTAMP_H#define
MUDUO
_BASE_TIMESTAMP_H#include#include#includenamespace
muduo
阳光梦
·
2020-08-16 17:55
库学习
muduo
/base库学习笔记(1)-----Timestamp类
Timestamp类1变量staticconstintkMicroSecondsPerSecond=1000*1000;private:int64_tmicroSecondsSinceEpoch_;2构造函数无参构造函数Timestamp():microSecondsSinceEpoch_(0){}有参数构造函数explicitTimestamp(int64_tmicroSecondsSinceE
xiuxiu__deng
·
2020-08-16 17:07
muduo
多数据中心的高可用结构【环状星型数据库架构】
高手轻拍原文请见:http://www.
muduo
.net/index.php/u...space-itemid-318728二、多数据中心的高可用结构【环状星型数据库架构】在介绍该结构之前,我们首先了解一下
wzbob
·
2020-08-16 17:41
muduo
--TimerQueue定时器
传统的Reactor是通过控制select和poll的等待时间来实现定时,libevent中就是这么实现的,现在Linux中提供了timerfd,timerfd是Linux为用户程序提供的一个定时器接口。这个接口基于文件描述符,通过文件描述符的可读事件进行超时通知,所以能够被用于select/poll的应用场景,采用文件描述符实现定时有利于统一事件源。主要有几个类-----Timer定时器包含超时
wuqiyi_71
·
2020-08-16 16:28
linux
C++
muduo
网络库base篇二:Time! Time!
更新 真不敢相信,读
muduo
已经近两年了,期间主要搞搞java,倒是少有精力读C/C++开源代码了。犹记得当年是整天整天的读
muduo
和redis,如今忘得差不多了。
视此虽近_邈若山河
·
2020-08-16 16:18
muduo网络库
浅析
muduo
库中的线程设施03
最后,向大家介绍
muduo
库中对于线程池的封装的理解。最重要的想法就是线程池将线程看为自己可执行的最小并且可随时增加的单位。
uulogging
·
2020-08-16 16:35
muduo
线程
库
muduo
中的TcpServer一次完整的工作(上)
模拟单线程情况下
muduo
库的工作情况
muduo
的源代码对于一个初学者来说还是有一些复杂的,其中有很多的回调函数以及交叉的组件,下面我将追踪一次TCP连接过程中发生的事情,不会出现用户态的源码,都是库内部的运行机制
uulogging
·
2020-08-16 16:35
muduo
现代C++的回调技术--使用std::bind和std::function
最近在读完陈硕大牛的《Linux多线程服务端编程》以及
muduo
源码后,对其中的一些实现细节有着十分深刻的印象,尤其是使用std::bind和std::function的回调技术。
uulogging
·
2020-08-16 16:35
C++
muduo
muduo
中的TcpServer一次完整的工作(下)
模拟单线程情况下
muduo
库的工作情况在上篇中,笔者追踪了Connetfd(连接套接字)和Listenfd(监听套接字)的Channel对象加入到loop循环的过程。
uulogging
·
2020-08-16 16:35
muduo
浅析
muduo
库中的线程设施01
muduo
是目前在学习过程中遇到的最具有学习意义的网络库,下文将分析
muduo
库中的基础设施–Thread和ThreadPool.文中观点如果部分不符合您的理解,请留言指教,谢谢~首先,介绍在多线程编程中不可缺少的同步措施
uulogging
·
2020-08-16 16:04
muduo
muduo
网络库源码解析(4):TimerQueue定时机制
muduo
网络库源码解析(1):多线程异步日志库(上)
muduo
网络库源码解析(2):多线程异步日志库(中)
muduo
网络库源码解析(3):多线程异步日志库(下)
muduo
网络库源码解析(4):TimerQueue
一个划水的人
·
2020-08-16 16:59
muduo网络库源码解析
muduo
_base代码剖析之Timestamp、AtomicIntegerT、Exception
因此需要将微秒数转换成大家比较熟悉的秒数classTimestamp:public
muduo
::copyable,publicboost::equality_comparable,p
guojawee
·
2020-08-16 16:32
Muduo库源码剖析
Muduo
网络编程示例之三:定时器
陈硕(giantchen_AT_gmail)Blog.csdn.net/Solstice这是《
Muduo
网络编程示例》系列的第三篇文章。
weixin_34183910
·
2020-08-16 16:18
muduo
网络库学习笔记(三)TimerQueue定时器队列
目录
muduo
网络库学习笔记(三)TimerQueue定时器队列Linux中的时间函数timerfd简单使用介绍timerfd示例
muduo
中对timerfd的封装TimerQueue的结构.TimerTimer
weixin_30648963
·
2020-08-16 15:10
从epoll构建
muduo
-1 mini-
muduo
介绍
mini-
muduo
版本传送门version0.00从epoll构建
muduo
-1mini-
muduo
介绍version0.01从epoll构建
muduo
-2最简单的epollversion0.02从epoll
voidccc
·
2020-08-16 15:11
网络
muduo
epoll
linux
网络编程
socket
从epoll构建
muduo
-10 Timer定时器
mini-
muduo
版本传送门version0.00从epoll构建
muduo
-1mini-
muduo
介绍version0.01从epoll构建
muduo
-2最简单的epollversion0.02从epoll
voidccc
·
2020-08-16 15:40
网络
muduo
之TimerQueue解析
首先直到Linux下获取当前时间的函数有:time(2)/time_t(秒)ftime(3)/structtimeb(毫秒)gettimeofday(2)/structtimeval(微秒)clock_getime(2)/structtimespec(纳秒)定时函数sleep(3)alarm(2)usleep(3)nanosleep(2)clock_nanosleep(2)getitimer(2)
FBI-PC
·
2020-08-16 15:21
muduo网络库
muduo
日志库学习(一)
转载自:大佬博客
muduo
的日志库由LogStream{.h,.cc}、Logging{.h,.cc}、LogFile{.h,.cc}、AsyncLogging{.h,.cc}组成。
FBI-PC
·
2020-08-16 15:21
muduo网络库
高并发服务器架构笔记(3)——
muduo
_base 源码分析
Timestamp类封装less_than_comparable要求实现,=Boost_STATIC_ASSERT使用PRId64Timestamp实现及测试classTimestamp:public
muduo
ize
·
2020-08-16 15:59
c++
服务端开发
muduo
网络库学习(三)定时器TimerQueue的设计
Linux下用于获取当前时间的函数有time(2)/time_t(秒)ftime(3)/structtimeb(毫秒)gettimeofday(2)/structtimeval(微秒)clock_gettime(2)/structtimespec(纳秒)定时函数,用于让程序等待一段时间或安排计划任务sleep(3)alarm(2)usleep(3)nanosleep(2)clock_nanosle
一个程序渣渣的小后院
·
2020-08-16 14:21
muduo源码学习
muduo网络库源码分析
muduo
库学习笔记二:base库之timestamp
一、类功能:时间戳类,主要提供基础的时间值获取、计算功能类图:常量kMicroSecondsPerSecond表示每秒所对应的微秒数成员变量microSecondsSinceEpoch_表示到1970-01-0100:00:00UTC的微秒数成员函数swap()交换操作toString()、toFormattedString()将时间转换为string类型或指定格式,valid()判断Timest
麻子来了
·
2020-08-16 14:12
moduo源码阅读笔记
学习
muduo
库(12)之定时器相关的类TimerQueue
准备知识:inttimer_create(intclockid,intflags);//成功返回0参数:clockid:第一个参数一般为CLOCK_REALTIME或者CLOCK_MONOTONIC,其参数意义为参数意义CLOCK_REALTIME:相对时间,从1970.1.1到目前时间,之所以说其为相对时间,是因为我们只要改变当前系统的时间,从1970.1.1到当前时间就会发生变化,所以说其为相
请叫我少爷
·
2020-08-16 14:26
学习muduo库
muduo
库分析——net篇(3)Timer定时器相关
定时器是基于EventLoop所有定时器都注册在一个定时器IO上,定时器IO在到达指定时间后发生可读事件,EventLoop读该链接并调用当前已过期的所有定时器的函数,这些函数都属于EventLoop中pendingFunctors_首先看定时器Timer:成员:constTimerCallbackcallback_; //绑定的回调函数Timestampexpiration_;
烟雨任大
·
2020-08-16 14:30
c++
muduo
库分析——base篇(2) Atomic
主要是封装了原子操作类,用于原子计数功能,使用的__sync_fetch_and_add等等系统函数都是特定cpu支持的命令namespace
muduo
{namespacedetail{templateclassAtomicIntegerT
烟雨任大
·
2020-08-16 14:29
c++
muduo
库分析——base篇(4) Mutex
为了方便开发,一般创建互斥量的管理类,同时创建上锁解锁类(RALL技术)classMutexLock:boost::noncopyable{public:MutexLock():holder_(0)//线程持有者{MCHECK(pthread_mutex_init(&mutex_,NULL));//mutex动态初始化}~MutexLock(){assert(holder_==0);//没有持有者
烟雨任大
·
2020-08-16 14:29
c++
muduo
3学习笔记——Timestamp.{h,cc}
编译时断言;(3)gmtime和gmtime_r函数(4)函数参数采用值传递(5)使用PRId64(6)对象语义和值语义可以看谱哥笔记,然后就开始数据结构啦可以看到Timestamp继承自多个基类:其中
muduo
听说西佳佳难得很
·
2020-08-16 14:41
muduo源码
muduo
源码笔记-base-Timestamp
#ifndef
MUDUO
_BASE_TIMESTAMP_H#define
MUDUO
_BASE_TIMESTAMP_H#include"m
w小鸣
·
2020-08-16 14:17
muduo源码笔记
读
Muduo
源码笔记---8(定时器)
muduo
的定时器由三个类实现,TimerId、Timer、TimerQueue。
AtwOne
·
2020-08-16 14:08
muduo源码读书笔记
muduo
源码学习(二):定时器
TimerQueue定时器在Reactor的基础之上,
muduo
又添加了定时器的功能。
Ideal Dragon
·
2020-08-16 14:18
muduo
Netty,Kafka,
Muduo
关于时间轮的一些思考 之
Muduo
时间轮
上一篇文章提到了,netty默认的时间轮实现中,很大的一个缺陷就是对于超时时间会频繁更新的任务并不适用.这一篇文章讲讲
muduo
中的时间轮是如何客服这个问题的.
muduo
是陈硕老师用C++写的一个网络库
Rapper金馆长
·
2020-08-16 14:15
muduo
muduo
源码分析(三)定时器
muduo
里的定时器也是经过精心设计的(这句话好像有点废)。1.使用例子EventLoop类提供了4个和定时器相关的接口://timers//////Runscallbackat'time'.
Julien_Lion
·
2020-08-16 13:24
muduo
muduo
之TimerQueue
muduo
的TimerQueue是基于timerfd_create实现,这样超时很容易和epoll结合起来。
pan-ma
·
2020-08-16 13:59
muduo源码学习
boost::noncopyable以及空基类在编程中的应用
今天开始学习>,下载了书中在Github中的源代码,就好奇的开始阅读源代码,在/
muduo
/net/Socket.h中看到一个继承体系,classSocket:boost::noncopyable;看到
mdlyyh
·
2020-08-16 13:53
C/C++
muduo
编译方法v2.0
1安装cmake2安装boost3下载
muduo
源码(0.8版本)然后问题就开始了按照书上说的方法没有正确完成编译经过两天的摸索发现了其他的方法在base和net文件夹下有cmake的配置文件1cmakebase2make2.5
ljq550000
·
2020-08-16 13:19
muduo
库应用
muduo
库的简单使用
muduo
是一个基于事件驱动的非阻塞网络库,采用C++和Boost库编写。
越战越勇v
·
2020-08-16 13:09
编程
muduo
库学习篇-AtomicIntegerT模板原子类的实现
为什么需要原子操作:在我们平时工作中总会有i++这种类似的代码,这样的代码在不涉及多线程编程的时候是没有问题的,但是一旦在多线程编程中变量i是一个全局变量的话,那么就会很容易出现错误。因为i++不是原子操作,一个i++分为以下几个步骤i从内存中读x的值到寄存器中,对寄存器加1,再把新值写回x所处的内存地址,当一个线程执行一半的时候,i的使用权被另外的线程拿去,那么得到就不是我们想要的值了。解决的方
Coldestmonth
·
2020-08-16 13:04
C++知识点
muduo库
muduo
实现简单了聊天功能(44-45)
聊天服务器(
Muduo
Manual.pdfP66)examples/asio/chat/server.cc单线程examples/asio/chat/server_threaded.cc,多线程TcpServer
laohan_
·
2020-08-16 13:56
Muduo
Library
Simple
mac 安装
muduo
最近在看陈硕先生的
muduo
开源库,很实用的库,书里也有很多可学习的知识。推荐一下。
趴在树上写代码的猫
·
2020-08-16 13:12
C/C++
muduo
: AtomicInteger
https://gcc.gnu.org/onlinedocs/gcc-4.4.3/gcc/Atomic-Builtins.htmlhttp://blog.csdn.net/huntinux/article/details/51994877上面这篇文章学习了Linux下的无锁原子操作,使用的是gcc的built-in函数://先获取变量值再改变它type__sync_fetch_and_add(ty
春泥面包
·
2020-08-16 12:40
muduo
boost::noncopyable的实现
boost::noncopyable最近在看
muduo
网络库,
muduo
是基于boost库做开发的。里面很多类是继承自noncopyable,顺手查看了noncopyable类的实现。
我家云
·
2020-08-16 12:34
C++
Muduo
网络库的实现TimerQueue定时器(五)
源码下载以及安装点击链接https://blog.csdn.net/YoungSusie/article/details/90021742分类
Muduo
网络库编程学习笔记给前面的EventLoop加上定时的功能
YoungSusie
·
2020-08-16 11:19
Muduo
Linux多线程服务端编程学习(一)Centos7安装
muduo
网络库
1、github下载
muduo
源码,https://github.com/chenshuo/
muduo
我是以root权限登陆的(root权限登陆需要小心操作,不是很熟悉的,还是普通用户登陆,接下来的操作前面加
YoungSusie
·
2020-08-16 11:19
Muduo
Muduo
网络库源码分析之定时器的实现
muduo
的定时器功能由三个class实现,TimerId、Timer和TimerQueue。TimerId类它唯一标识一个Timer定时器。
Tanswer_
·
2020-08-16 11:51
Linux网络编程
Muduo网络库源码分析
muduo
中定时器的管理
Eventloop中维护了一个定时器队列:boost::scoped_ptrtimerQueue_;在事件循环中的所有定时器事件都会被放入到这个”队列”中,当然本质上是放在一棵平衡二叉树中(muti-set)。放置定时器的相关函数主要是是Eventloop中的下列成员函数:TimerIdrunAt(constTimestamp&time,constTimerCallback&cb);//在时间
gswen
·
2020-08-16 11:19
muduo源码分析
服务器端编程
击鼓传花:对比
muduo
与 libevent2 的事件处理效率
前面我们比较了
muduo
和libevent2的吞吐量,得到的结论是
muduo
比libevent2快18%。有人会说,libevent2并不是为高吞吐的应用场景而设计的,这样的比较不公平,胜之不武。
陈硕
·
2020-08-16 11:17
muduo
c++
muduo
网络库学习之EventLoop(一):事件循环类图简介和
muduo
定时器TimeQueue
1、EventLoop、Channel、Poller等类图如下:黑色菱形:组合;白色菱形:聚合;白色三角形:继承;实线:关联;Channel是selectableIOchannel,负责注册与响应IO事件,它不拥有filedescriptor。Channel是Acceptor、Connector、EventLoop、TimerQueue、TcpConnection的成员。一个EventLoop对象
s1mba
·
2020-08-16 11:13
muduo网络库学习
Muduo
网络库源码分析(二) 定时器TimeQueue,Timer,TimerId
Muduo
的TimerQueue采用了最简单的实现(链表)来管理定时器,它的效率比不上常见的binaryheap的做法,如果程序中大量(10个以上)使用重复触发的定
NK_test
·
2020-08-16 11:21
Linux基础及编程
Muduo源码分析
muduo
网络库源码复现笔记(十八):Reactor的关键结构
Muduo
网络库简介
muduo
是一个基于Reactor模式的现代C++网络库,作者陈硕。它采用非阻塞IO模型,基于事件驱动和回调,原生支持多核多线程,适合编写Linux服务端多线程网络应用程序。
liangximin2046
·
2020-08-16 11:45
muduo
c++
linux
服务器
muduo
网络库源码复现笔记(十七):什么都不做的EventLoop
Muduo
网络库简介
muduo
是一个基于Reactor模式的现代C++网络库,作者陈硕。它采用非阻塞IO模型,基于事件驱动和回调,原生支持多核多线程,适合编写Linux服务端多线程网络应用程序。
liangximin2046
·
2020-08-16 11:45
muduo
muduo
网络库源码复现笔记(十六):base库的LogFile.h
Muduo
网络库简介
muduo
是一个基于Reactor模式的现代C++网络库,作者陈硕。它采用非阻塞IO模型,基于事件驱动和回调,原生支持多核多线程,适合编写Linux服务端多线程网络应用程序。
liangximin2046
·
2020-08-16 11:44
muduo
上一页
4
5
6
7
8
9
10
11
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他