自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (5)
  • 收藏
  • 关注

原创 Baidu-Rpc中Pb结构转为Json

1.C++动态创建对象(类似java反射) 2.pb结构中repeated,Extension,如何将pb结构转化为string类型(baidu-rpc中有库json2pb文件,可以看源码学习一下) 3.Pb结构中Extension字段使用 4.Pb中Descriptor,Reflection如何实现动态创建对象 https://developers.google.com/protocol-

2017-09-28 19:45:02 1026

原创 46muduo库使用示例(五)

1.RTT计算2.代码#include #include #include #include #include using namespace muduo;using namespace muduo::net;const size_t frameLen = 2*sizeof(int64_t);void serverConnectionCallback(const

2017-09-17 19:21:07 539

原创 34muduo_net库源码分析(十)

1.连接关闭时序图2.代码1.TcpConnection.h// Copyright 2010, Shuo Chen. All rights reserved.// http://code.google.com/p/muduo///// Use of this source code is governed by a BSD-style license// that

2017-09-10 19:56:33 550

原创 33muduo_net库源码分析(九)

1.TcpServer/TcpConnection(1)Acceptor类的主要功能是socket、bind、listen(2)一般来说,在上层应用程序中,我们不直接使用Acceptor,而是把它作为TcpServer的成员TcpServer还包含了一个TcpConnection列表(3)TcpConnection与Acceptor类似,有两个重要的数据成员,Socket与Chan

2017-09-10 19:31:49 397

原创 32muduo_net库源码分析(八)

1.Acceptor(1)Acceptor用于accept(2)接受TCP连接(2)Acceptor的数据成员包括Socket、Channel,Acceptor的socket是listening socket(即serversocket)。Channel用于观察此socket的readable事件,并回调Accptor::handleRead(),后者调用accept(2)来接受新连接

2017-09-10 19:21:50 338

原创 31muduo_net库源码分析(七)

1.Socket封装(1)Endian.h 封装了字节序转换函数(全局函数,位于muduo::net::sockets名称空间中)。(2)SocketsOps.h/ SocketsOps.cc 封装了socket相关系统调用(全局函数,位于muduo::net::sockets名称空间中)。(3)Socket.h/Socket.cc(Socket类) 用RAII方法封装

2017-09-03 20:00:16 432

原创 20muduo_base库源码分析(十一)

1.日志作用(1)开发过程中:调试错误,更好的理解程序(2)运行过程中:诊断系统故障并处理,记录系统运行状态2.日志级别(1)TRACE 指出比DEBUG粒度更细的一些信息事件(开发过程中使用)(2)DEBUG 指出细粒度信息事件对调试应用程序是非常有帮助的。(开发过程中使用)(3)INFO 表明消息在粗粒度级别上突出强调应用程序的运行过程。(4

2017-09-02 22:18:10 385

原创 Initializer Lists

1.简介2.initializer_listcomplex com{1, 2},也就是类似P(int a, int b)的这样子(1)initializer_list是基于array实现的(2)编译器为你构造了一个array的数组,将array的begin和len传入到initializer_list,initializer_list构造函数是pri

2017-09-02 18:45:04 354

原创 30muduo_net库源码分析(六)

1.EventThread(1)任何一个线程,只要创建并运行了EventLoop,都称之为IO线程(2)IO线程不一定是主线程(3)muduo并发模型one loop per thread + threadpool(4)为了方便今后使用,定义了EventLoopThread类,该类封装了IO线程(5)EventLoopThread创建了一个线程(6)在线程函数中创建了一

2017-09-02 15:51:55 337

原创 29muduo_net库源码分析(五)

1.进程(线程)wait/notify(1)pipe(2)socketpair(3)eventfd,eventfd是一个比 pipe更高效的线程间事件通知机制,一方面它比 pipe 少用一个file descripor,节省了资源;另一方面,eventfd的缓冲区管理也简单得多,全部“buffer”只有定长8 bytes,不像 pipe 那样可能有不定长的真正buffer。in

2017-09-02 15:46:00 400

1.6 Golang在阿里巴巴调度系统Sigma中的实践.pdf

1.6 Golang在阿里巴巴调度系统Sigma中的实践。

2020-04-19

栈和队列.rar

栈队列,两个栈实现队列,两个队列实现栈,栈和队列的一些简单应用

2016-01-14

深度优先搜索

哈理工几道深度优先搜索例题,泉水下山

2015-08-15

排序树 变成双向链表

排序树 变成双向链表排序树

2014-09-14

排序树 双向 循环链表

排序树 双向 循环链表

2014-08-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除