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
muduo
C++ 网络库——线程同步精要(1):互斥锁
互斥器:使用得最多的同步原语互斥锁的详细介绍在这一篇博文中:互斥锁概念补充:RAII——资源的有效期与持有资源的对象的生命期严格绑定,即由对象的构造函数完成资源的分配(获取),同时由析构函数完成资源的释放。只要对象能正确地析构,就不会出现资源泄漏问题。互斥器保护了临界区,任何一个时刻最多只能有一个线程在此mutex划出的临界区内活动。单独使用mutex时,主要为了保护共享数据。原则:-用RAII
amoscykl
·
2020-07-04 10:38
moduo网络库
muduo源码分析
muduo
网络库——Buffer类的设计与使用
muduo
Buffer设计要点:1.一块连续的内存(char*p,intlen)。2.size()可以自动增长,以适应不同大小的消息。3.内部以std::vector来保存数据,并提供相应的访问函数。
amoscykl
·
2020-07-04 10:38
moduo网络库
muduo源码分析
muduo
库整体架构简析
muduo
是一个高质量的Reactor网络库,采用oneloopperthread+threadpool架构实现,代码简洁,逻辑清晰,是学习网络编程的很好的典范。
amoscykl
·
2020-07-04 10:38
moduo网络库
muduo源码分析
Muduo
网络库源码分析之Reactor模式的关键结构
本文分析一下Reactor模式的实现,关键是三个类:Channel、Poller、EventLoop。事件分发类ChannelChannel是selectableIOchannel,负责注册与响应IO事件,包括注册给Poller的fd及其监听的事件,以及事件发生了所调的回调函数。每个Channel对象自始至终只负责一个fd的事件分发,封装了一系列该fd对应的操作,使用了回调函数,包括可读、可写、关
Tanswer_
·
2020-07-04 08:11
Linux网络编程
Muduo网络库源码分析
muduo
架构解析
muduo
是一个基于Reactor模式的C++网络库。它采用非阻塞I/O模型,基于事件驱动和回调。
gswen
·
2020-07-04 08:47
muduo源码分析
服务器端编程
Muduo
网络编程示例之十:socks4a 代理服务器
Muduo
网络编程示例之十:socks4a代理服务器陈硕(giantchen_AT_gmail)Blog.csdn.net/Solsticet.sina.com.cn/giantchen这是《
Muduo
陈硕
·
2020-07-04 08:40
muduo
Muduo
多线程模型:一个 Sudoku 服务器演变
陈硕(giantchenATgmail)blog.csdn.net/Solstice
Muduo
全系列文章列表:http://blog.csdn.net/Solstice/category/779646.
陈硕
·
2020-07-04 08:40
muduo
Muduo
网络编程示例之二:Boost.Asio 的聊天服务器
陈硕(giantchen_AT_gmail)Blog.csdn.net/Solstice这是《
Muduo
网络编程示例》系列的第二篇文章。
陈硕
·
2020-07-04 08:09
c++
muduo
muduo
的reactor模式基本实现
这几天一直在看
muduo
的Eventloop(事件循环)这一块的源代码,感觉里面有好多东西例如:智能指针的使用,将eventfd,timerfd等linux新性能运用进去,C++一些容器的合理使用,还有如何能在多线程情况下减少锁的使用等都是我们应该学习的东西
Shreck66
·
2020-07-04 08:32
linux服务端编程
网络I-O模型
muduo
muduo
网络库中buffer的设计
1.为什么非阻塞网络编程中应用层buffer是必须的非阻塞I/O(在这里可以理解为非阻塞I/O加T/O复用)的核心思想就是避免将当前线程阻塞在I/O系统调用上,这样可以使我们的I/O线程只阻塞在I/O复用函数上(epoll_wait或poll,select)使其能够服务更多的连接socket那么如何才能做到这一点呢?这里我们就需要实现应用层的输入输出buffer(1)什么情况下用到outputbu
Shreck66
·
2020-07-04 08:32
linux服务端编程
网络I-O模型
linux
Muduo
网络库源码分析 之 关键技术点总结
最近又把
muduo
网络库仔细研究了一遍,收获良多。
NK_test
·
2020-07-04 07:46
Linux基础及编程
Muduo源码分析
Programming
int
the
Linux
environment
Go 网络库并发对比
Reactor模式的非阻塞TCP网络库eviop:evio的优化版本evio:Fastevent-loopnetworkingforGognet:eviop的网络模型替换版本net标准库测试方法采用陈硕测试
muduo
jin-long
·
2020-07-04 06:11
go
muduo
网络库学习笔记(10):定时器的实现
传统的Reactor通过控制select和poll的等待时间来实现定时,而现在在Linux中有了timerfd,我们可以用和处理IO事件相同的方式来处理定时,代码的一致性更好。为什么选择timerfd常见的定时函数有如下几种:sleepalarmusleepnanosleepclock_nanosleepgetitimer/setitimertimer_create/timer_settime/t
li27z
·
2020-07-04 06:19
muduo
muduo
库的框架剖析及总结
我前面有说过把
Muduo
库分成大致四个模块,那么我们今天把Channel模块和Eventloop
FreeeLinux
·
2020-07-04 05:26
Muduo源码剖析
muduo源码剖析
muduo
应用层缓冲区buffer设计
一:
muduo
的I/O模型采用非阻塞模式,避免阻塞在read()或write()或其他系统调用上。
FreeeLinux
·
2020-07-04 05:26
Muduo源码剖析
muduo源码剖析
一个典型reactor网络模型实现
这些天一直在研究网络编程源码,发现很多开源项目都用到了reactor网络模式,例如libevent,skynet,
muduo
等等。现在对reactor模式也有了一定的认识。
Shonm
·
2020-07-04 04:32
linux网络编程
网络编程
muduo
源码分析
muduo
网络库 编译安装
源文件tar包的下载地址:http://code.google.com/p/
muduo
/downloads/list,此处以
muduo
-0.8.2-beta.tar.gz为例。
yand789
·
2020-07-04 03:44
主从reactor模式
muduo
中,类EventLoopThreadPool的构造函数将成员numThreads_设置为0,表示默认不开启主从Reactor模式,即单Reactor模式。
xupeng1644
·
2020-07-04 03:00
muduo
推荐《Linux 多线程服务器端编程》
我推荐了《Linux多线程服务器端编程——使用
muduo
C++网络库》给他,他在网上书店看了以后问我为什么推荐这么厚一本书给他,正好这本书我已经早就看完了,一直也想写篇“书评”,就在这里多扯几句。
weixin_30518397
·
2020-07-04 02:30
Linux下多线程服务器Reactor模式总结(精华好文!!)
PS:述而不作,里面很大部分知识都是总结的陈硕(
muduo
网络库作者,《Linux多线程服务端编程》作者)论述,感谢陈硕前辈。
小师兄.
·
2020-07-04 02:29
14.
Linux学习
Muduo
- Reactor模式
Muduo
-Reactor模式一、Reactor是什么wiki的中文定义:Reactor模式是事件驱动的,有一个或多个并发输入源,有一个ServiceHandler,有多个RequestHandler,
mohk
·
2020-07-04 00:45
C++
《Linux多线程服务端编程-使用
muduo
C++网络库》学习笔记——第三章
本文目录第3章多线程服务器的常用场合与常用编程模型单线程服务器的常用编程模型Reactor和Proactor多线程服务器的常用编程模型oneloopperthread线程池作者推荐的模式进程间通信只用TCP多线程服务器的适用场合必须使用单线程的场景单线程程序的优缺点多线程程序有性能优势吗?适用多线程程序的场景例子计算机群线程分类作者关于“多线程服务器的适用场合”的答疑讨论Linux能启动多少线程?
Yanyu-CQU
·
2020-07-04 00:11
学习笔记
C++
《Linux多线程服务端编程-使用
muduo
C++网络库》学习笔记——第二章
本文目录第2章线程同步精要互斥量(mutex)只用非递归的mutex死锁条件变量不要用读写锁和信号量线程安全的单例模式实现使用shared_ptr实现copy-on-write第2章线程同步精要线程同步四项原则,依照重要性排序:尽量不要共享对象,共享对象优先选择不可修改的对象使用高级并发编程构件使用低级同步原语,只用非递归(不可重入)的互斥量和条件变量,不用读写锁、信号量除原子级整数外,不编写无锁
Yanyu-CQU
·
2020-07-04 00:11
学习笔记
C++
muduo
网络buffer--为什么 non-blocking 网络编程中应用层 buffer 是必须的(★firecat推荐★)
文章来源:点击打开链接对于非阻塞IO的网络库来说,buffer几乎是必须的。oneloopperthreadisusuallyagoodmodel。eventloop是non-blocking网络编程的核心,在现实生活中,non-blocking几乎总是和IO-multiplexing一起使用,原因有两点:没有人真的会用轮询(busy-pooling)来检查某个non-blockingIO操作是否
libaineu2004
·
2020-07-04 00:57
网络基础知识Web/Net
Linux多线程服务端编程:使用
muduo
C++网络库
《Linux多线程服务端编程:使用
muduo
C++网络库》(多年编写生产环境下多线程服务端程序经验之精华基本信息作者:陈硕出版社:电子工业出版社ISBN:9787121192821上架时间:2013-1
iteye_11916
·
2020-07-04 00:39
计算机图书
初探《Linux多线程服务端编程 使用
muduo
C++网络库》
第1部分c++多线程系统编程第1章线程安全的对象生命期管理1.多个线程同时看到一个对象时,析构可能出现racecondition2.线程安全的类的定义:多个线程同事访问时,其表现出正确的行为;无论操作系统如何调度这些线程,无论这些线程的执行顺序如何交织;调用端代码无须额外的同步或其他协调动作。3.MutexLock封装临界区,用RAII手法封装互斥器的创建和销毁。临界区在linux下是pthrea
mashuiping
·
2020-07-02 11:58
网络编程
《Linux多线程服务端编程》—
muduo
网络库(1)
TCP网络编程本质论思维转换:把原来“主动调用recv(2)来接收数据,主动调用accept(2)来接受新连接,主动调用send(2)来发送数据”的思路转换为“注册一个收数据的回调,网络库收到数据会调用我,直接把数据提供给我,供我消费。注册一个接受连接的回调,网络库接受了新连接会回调我,直接把新连接对象传给我,供我使用。需要发送数据的时候,只管往连接中写,网络库会负责无阻塞地发送。”作者(陈硕)认
jiange_zh
·
2020-07-02 05:27
UNIX网络编程
服务器
C/C++
c语言socket之epoll的reactor模型开发服务器
大多数的libevent,libuv,
muduo
等开源框架都是基于这种方式实现。只能意会,不能言传。
jenie
·
2020-07-02 05:36
浅析
muduo
网络库之Poller在哪里调用——EventLoop
直接上代码voidEventLoop::loop(){while(!quit_){//调用pollpollReturnTime_=poller_->poll(kPollTimeMs,&activeChannels_);for(ChannelList::iteratorit=activeChannels_.begin();it!=activeChannels_.end();++it){current
谢昆明
·
2020-06-30 21:57
muduo
库源码阅读
前言:这两个月来状态一般,把leetcode刷完了,然后忙于阅读
muduo
库的源码,大概花了两个星期,彻底搞明白了整个网络库的构架与运行的回调过程,其中所有的是操作都是基于时间的,并且使用了timerfd
yw8355507
·
2020-06-30 11:39
网络编程学习
自己写的HTTP服务器与
muduo
库对比——找出代码中的不足
前言:在阅读
muduo
网络库源码之前,自己先写尝试写了一个HTTP服务器,写的时候尽量使用了最新的C++11和我所知道的比较好的网络模型,并且尝试将各种资源或者网络事件进行解藕,努力做到代码的复用,当时写完的时候
yw8355507
·
2020-06-30 11:08
网络编程学习
muduo
源码分析--EventLoop 类的实现
从设计
muduo
的理念来看,oneloopperthread顾名思义每个线程只能有一个EventLoop对象,因此EventLoop的构造函数就会检查当前线程是否已经创建了其他EventLoop对象,遇到错误就终止程序
鱼思故渊
·
2020-06-30 10:03
muduo源码分析
muduo源码分析
muduo
源码分析--EventLoopThreadPool类
这个貌似是个池,池里全是EventLoopThread。貌似很强大这个类对外的接口也很简单一个构造函数,需要传递的是EventLoop一个设置个数的函数setThreadNum,这个函数好像决定了开启几个EventLoopThread一个start从感觉上来看这个函数是按照numThreads_的数目来开启线程的,EventLoopThreadPool中有一个向量存放着E3ventLoopThre
鱼思故渊
·
2020-06-30 10:03
muduo源码分析
muduo源码分析
开源网络库的分析libevent
muduo
nginx ....
每一个开源项目存在都有它的道理和意义,不同的思想有不同的优缺点。libevent:这是一个用纯C写的开源库,属于一个轻量级的网络中间件。其中用到的基本数据结构也是非常巧妙。展现反应堆模型的基本使用方法。不同的事件对应不容的处理方法。I/O定时信号。三种事件的处理单独分开,又通过事件驱动融合在一起。专栏地址:http://blog.csdn.net/column/details/libevent.h
鱼思故渊
·
2020-06-30 10:31
libevent源码分析
libevent源码分析
【S1mpleServer】适合新手的C++Web项目----多线程网络库(支持Http解析)
目录前言项目简介系统框架运行结果测试结果前言闭关多日,仔细阅读了
muduo
的源码,有一点开窍的感觉,仿照着牛客上天线宝宝大佬的服务器写了一个C++11的网络库,并在上面跑了一个数独求解的HTTP服务器。
但守恒
·
2020-06-29 06:03
Web
【定时器】4种定时器方式介绍及时间轮、时间堆实现
在并发的服务器中,显然不能用sleep这样的阻塞定时函数来做,以下介绍4种定时的方法,其中又以最后一种timerfd目前最为常见,至少我目前读到的
muduo
、handy都是用这一种。
但守恒
·
2020-06-29 06:03
Web
Linux(
muduo
网络库):18---
muduo
简介之(
muduo
库的由来、编译安装、目录结构、代码结构、线程模型)
(实际上
muduo
也可以
江南、董少
·
2020-06-28 22:23
Linux(muduo网络库)
muduo
网络库源码复现笔记(四):base库的Thread.h和CurrentThread.h
Muduo
网络库简介
muduo
是一个基于Reactor模式的现代C++网络库,作者陈硕。它采用非阻塞IO模型,基于事件驱动和回调,原生支持多核多线程,适合编写Linux服务端多线程网络应用程序。
liangximin2046
·
2020-06-27 13:12
muduo
c++
多线程
后端
linux
Ubuntu 中头文件路径设置 /
muduo
库编译
配置配置include头文件路径#include"*.h"表示先再当前工程目录下查找头文件,如果没有再按标准方式查找;常用于用户自定义头文件的查找。#include表示按照标准方式查找头文件,即直接到系统指定的某些目录中去找某些头文件。$cpp-v可用于查找系统指定的头文件路径。gcc-l可以指定头文件路径。可在/etc/profile(所有用户都有效)或~/.bashrc(对个人有效)中添加环境
why_here
·
2020-06-27 07:05
c
杂碎知识
[转] 【开源访谈】
Muduo
作者陈硕访谈实录
编写了开源C++网络库
muduo
;参与翻译了《代码大全(第二版)
逆流向上的鱼
·
2020-06-27 03:23
C++
libevent、libev、libuv、IOCP、asio、
muduo
优劣分析、QT下编译libevent静态库
欲使用开源网络库libevent、libev、libuv、IOCP、asio、
muduo
中的一个,经过对比分析,因本服务器系统目前于windows下运行,考虑到未
雒珣
·
2020-06-26 19:05
服务器开发
C++网络编程实战项目--Sinetlib网络库(1)——概述
暑假的时候我照着陈硕先生的
Muduo
网络库模仿了一个,学到了很多,但对很多细节不解,所以现在就想重新实现,同时也熟悉整个开发流程。在这里我将
silence1772
·
2020-06-26 10:03
网络
Muduo
网络库——EventLoopThreadPool、EventLoopThread、EventLoop浅析
文章目录EventLoopThreadPoolEventLoopThreadEventLoop
muduo
的并发模型为oneloopperthread+threadpool。
qq_43313035
·
2020-06-26 01:42
Muduo
详细
muduo
的使用(一)——源码分析(架构和概念)
目录
Muduo
是什么?
Come_code
·
2020-06-25 21:35
Muduo
详细
muduo
的使用(二)——安装与使用
安装的话可以百度搜索一下:
muduo
网络库使用手册这里进行一些简要的总结先贴一下
muduo
库github地址:https://github.com/chenshuo/
muduo
/0.下载安装包wgethttps
Come_code
·
2020-06-25 21:35
Muduo
个人小项目-熊猫聊天
最近在做个人项目熊猫聊天的客户端,服务端是
muduo
的那套架构基本已经完成,之后会重点讲,客户端使用Qt框架做的,目前在业余时间一点一点做,现在做到登陆界面,几个注意点先随便写下,零散着写,自己先看,项目完工
苏州-青蛙
·
2020-06-25 11:14
qt
c++
Redis(九) AOF持久化介绍及部分源码解析
具体如下:redis在每次执行写命令时(比如增删改),都会将该条命令加入到服务器结构redisServer的AOF缓冲区中,redis向
muduo
一样是基于eventloop(事件循环)
何以慰風塵
·
2020-06-25 07:47
Redis笔记
编译安装
muduo
库
源文件tar包的下载地址:http://code.google.com/p/
muduo
/downloads/list,此处以
muduo
-0.8.2-beta.tar.gz为例。
越战越勇v
·
2020-06-24 06:33
大型网站架构演变过程、大并发服务器架构
大型网站架构演变过程、大并发服务器架构分类:
muduo
网络库2013-11-1412:392231人阅读评论(7)收藏举报大型网站架构大并发服务器架构大型网站架构演变过程:[Step1]webserver
liema2000
·
2020-06-24 04:36
我个人的Linux TCP server和client测试源码,C语言(2)(★firecat推荐★)
1、直接上TCPServer源码,这种方法没有使用向
muduo
那样的活塞式buffer,可谓简单粗暴:#include#include#include#include#include#include#include
libaineu2004
·
2020-06-24 04:18
C/C++
上一页
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
其他