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源代码分析
高并发服务器架构笔记(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
muduo
网络库源码复现笔记(十四):base库的FileUtil.h
Muduo
网络库简介
muduo
是一个基于Reactor模式的现代C++网络库,作者陈硕。它采用非阻塞IO模型,基于事件驱动和回调,原生支持多核多线程,适合编写Linux服务端多线程网络应用程序。
liangximin2046
·
2020-08-16 11:44
muduo
muduo
网络库源码复现笔记(十):base库的ThreadLocalSingleton.h
Muduo
网络库简介
muduo
是一个基于Reactor模式的现代C++网络库,作者陈硕。它采用非阻塞IO模型,基于事件驱动和回调,原生支持多核多线程,适合编写Linux服务端多线程网络应用程序。
liangximin2046
·
2020-08-16 11:44
muduo
muduo
网络库源码复现笔记(十五):base库的ProcessInfo.h
Muduo
网络库简介
muduo
是一个基于Reactor模式的现代C++网络库,作者陈硕。它采用非阻塞IO模型,基于事件驱动和回调,原生支持多核多线程,适合编写Linux服务端多线程网络应用程序。
liangximin2046
·
2020-08-16 11:44
muduo
muduo
网络库源码复现笔记(十一):base库的StringPiece.h
Muduo
网络库简介
muduo
是一个基于Reactor模式的现代C++网络库,作者陈硕。它采用非阻塞IO模型,基于事件驱动和回调,原生支持多核多线程,适合编写Linux服务端多线程网络应用程序。
liangximin2046
·
2020-08-16 11:44
muduo
muduo
网络库源码复现笔记(三):base库的Exception.h
Muduo
网络库简介
muduo
是一个基于Reactor模式的现代C++网络库,作者陈硕。它采用非阻塞IO模型,基于事件驱动和回调,原生支持多核多线程,适合编写Linux服务端多线程网络应用程序。
liangximin2046
·
2020-08-16 11:14
muduo
muduo
网络库源码复现笔记(一):base库的Timestamp.h
Muduo
网络库简介
muduo
是一个基于Reactor模式的现代C++网络库,作者陈硕。它采用非阻塞IO模型,基于事件驱动和回调,原生支持多核多线程,适合编写Linux服务端多线程网络应用程序。
liangximin2046
·
2020-08-16 11:14
muduo
muduo
网络库源码复现笔记(九):base库的ThreadLocal.h
Muduo
网络库简介
muduo
是一个基于Reactor模式的现代C++网络库,作者陈硕。它采用非阻塞IO模型,基于事件驱动和回调,原生支持多核多线程,适合编写Linux服务端多线程网络应用程序。
liangximin2046
·
2020-08-16 11:14
muduo
48.
muduo
学习笔记之example_聊天服务器例子
1.说明本例子是与Boost.Asio的示例代码中的聊天服务器功能类似的网络服务程序,主要目的是介绍如何处理分包,并初步涉及
Muduo
的多线程功能。
LvPartner
·
2020-08-16 11:04
muduo学习
47.
muduo
学习笔记之example_下载文件例子
说明这个例子源码位于作者的源代码文件夹下examples/filetransfer文件下下实现一个发送文件的命令行小工具,这个工具的协议很简单,在启动时通过命令行参数指定要发送的文件,然后在2021端口侦听,每当有新连接进来,就把文件内容完整地发送给对方。可以直接用telnet测试,只是服务器把文件发过去后,直接在控制台输出发送完就调用shutdownWrite()关闭了“写”方向的连接,保留了“
LvPartner
·
2020-08-16 11:04
muduo学习
muduo
网络库学习笔记(15):关于使用stdio和iostream的讨论
但是,在真实的项目中很少用到iostream(
muduo
网络库也不例外),本篇就对二者的优、缺点进行一个小结(主要考虑x86Linux平台,不考虑跨平台的可移植性,但是要考虑32-bit和
li27z
·
2020-08-16 11:59
muduo
C/C++
muduo
网络库源码学习————Timestamp.cc
今天开始学习陈硕先生的
muduo
网络库,moduo网络库得到很多好评,陈硕先生自己也说核心代码不超过5000行,所以我觉得有必要拿过来好好学习下,学习的时候在源码上面添加一些自己的注释,方便日后理解,首先看看
缱绻的西格玛
·
2020-08-16 11:25
muduo库源码学习
muduo
::TimerId、Timer、TimerQueue分析
Linux时间函数介绍linux中用以获取当前时间的的函数有定时函数timerfd介绍TimerId介绍TimerTimerQueueLinux时间函数介绍linux中用以获取当前时间的的函数有:time(2)/time_t(秒)ftime(3)/structtimeb(毫秒)gettimeofday(2)/structtimeval(微秒)clock_gettime(2)/structtimes
KangRoger
·
2020-08-16 11:50
muduo源码学习
46
muduo
库使用示例(五)
1.RTT计算2.代码#include#include#include#include#includeusingnamespace
muduo
;usingnamespace
muduo
::net;constsize_tframeLen
INGNIGHT
·
2020-08-16 11:38
muduo大并发服务器
Muduo
分析及总结(一)定时器(TimerQueue、TimerId、Timer)
一、类关系图TimerId:表示一个定时器的整体,有定时器和序列号。Timer:就是一个定时器的封装。TimerQueue:定时器的处理流程封装。二、时序图三、定时器的使用TimeQueue被封装在EventLoop中,定时器的使用要通过EventLoop/在时间戳为time的时间执行,0.0表示一次性不重复TimerIdEventLoop::runAt(constTimestamp&time,c
奔跑的哇牛
·
2020-08-16 11:59
Muduo
Muduo源码阅读总结
muduo
网络库net篇四:TCP(1)
这几天有去面试,回来之后,懈怠了。接着阅读代码吧!TcpClient类TcpClient类主要成员数据:EventLoop*loop_;ConnectorPtrconnector_;//avoidrevealingConnectorConnectionCallbackconnectionCallback_;MessageCallbackmessageCallback_;WriteCompleteC
视此虽近_邈若山河
·
2020-08-16 11:22
muduo网络库
浅析
muduo
库中的定时器设施
一个设计良好的定时器在服务端的应用程序上至关重要,
muduo
定时器的实现陈硕大牛在书中已经详细的谈过,笔者尝试从源码的角度解读定时器的实现,如果理解不对,欢迎指正。
uulogging
·
2020-08-16 11:50
muduo
muduo
库的摸索(1)
muduo
库的安装1.从https://github.com/chenshuo/
muduo
下载
muduo
文件。
熬夜是一种修养
·
2020-08-16 11:00
网络编程
muduo
网络库——日志
muduo
网络库也不例外。日志级别日志一般有5个正常级别:WARN警告信息表明潜在错误。
shenmingik
·
2020-08-16 11:21
剖析moduo网络库
上一页
12
13
14
15
16
17
18
19
下一页
按字母分类:
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
其他