参考:https://www.cnblogs.com/main404/p/11141938.html 1. 纯虚函数 形式: virtual 函数原型 = 0; 定义: 在定义一个表达抽象概念的基类时,有时无法给出某些函数的具体实现方法,就可以将这些函数声明为纯虚函数。 特点:无具体实现方法。 2. Read More
posted @ 2019-11-27 15:50 小荷才楼尖尖角 Views(150) Comments(0) Diggs(0) Edit
前面几篇博客介绍了Epoll, ThreadPool, 其中 Epoll 封装了epoll的各类api, 可在epoll句柄中添加/修改/删除 fd 的 各类事件(EPOLLIN | EPOLLOUT), 可以返回一个 active的事件集合,并提供了一个回调函数指针,统一处理这些事件。 Threa Read More
posted @ 2019-11-27 15:06 小荷才楼尖尖角 Views(345) Comments(0) Diggs(0) Edit
前面我们实现了CallBack类,实现了对任意可调用对象的封装,且统一了调用接口。 现在利用CallBack类,我们来实现一个线程池,我们的线程池包含: 1. 状态机, 用于控制和管理线程池的运行、停止 2. 任务队列, std::queue< std::unique_ptr< Base::Clos Read More
posted @ 2019-11-26 16:14 小荷才楼尖尖角 Views(553) Comments(0) Diggs(0) Edit
本篇文章在上一篇的基础上,使用 epoll 实现了一个事件监听和回调处理的模块。如何编写一个使用该模块的例子呢? 监测什么类型的fd,监测什么类型的事件,监测到事件以后需要做什么?后来可以看看如何将该模块与socket , 回调函数, 线程池联系起来。 Read More
posted @ 2019-11-26 10:31 小荷才楼尖尖角 Views(475) Comments(0) Diggs(0) Edit
https://blog.csdn.net/qq_35721743/article/details/86742508 epoll 最大的好处在于它不会随着监听 fd 数目的增长而降低效率。 epoll 的接口,一共有三个函数, 都在头文件 #include <sys/epoll.h> 里。 1. 创 Read More
posted @ 2019-11-26 09:32 小荷才楼尖尖角 Views(368) Comments(0) Diggs(0) Edit
https://www.cnblogs.com/Nick-Hu/p/7154197.html 里提到: 所谓句柄,实际上是一个数据,是一个 long (长整型)的数据。句柄是windows用来标识被应用程序所建立或使用的对象的唯一整数。 但是人家想了解的是,linux 中的句柄又是啥意思呢? htt Read More
posted @ 2019-11-25 11:45 小荷才楼尖尖角 Views(2880) Comments(0) Diggs(0) Edit
参考:https://www.jianshu.com/p/f191e88dcc80 1. std::function std::function 是一个可调用对象包装器,是一个类模板,可以容纳除了类成员函数指针之外的所有可调用对象,它可以使用统一的方式处理函数、函数对象、函数指针,并允许保存和延迟它 Read More
posted @ 2019-11-22 17:19 小荷才楼尖尖角 Views(582) Comments(0) Diggs(0) Edit
在c++中,动态内存管理是通过new/delete 运算符来进行的。由于确保在正确的时间释放内存是很困难的,为了避免内存泄漏,更加容易,安全地使用动态内存,C++11标准库提供了两种智能指针类型来管理动态对象。只能指针的行为类似于常规指针,重要的区别是它负责自动释放所指的对象。 std::share Read More
posted @ 2019-11-22 15:33 小荷才楼尖尖角 Views(17259) Comments(0) Diggs(0) Edit
#include #include #include #include #include template class ThreadSafeQueue{ public: void Insert(T value); void Popup(T &value); bool Empty() const; private: ... Read More
posted @ 2019-11-22 15:05 小荷才楼尖尖角 Views(549) Comments(0) Diggs(0) Edit
数据包长度是:2KB iperf的测试结果:3.2GHz的cpu能上40Gb/s, 2.1GHz的cpu只能到28Gb/s. Read More
posted @ 2019-08-22 15:52 小荷才楼尖尖角 Views(774) Comments(0) Diggs(0) Edit