自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

好习惯成就伟大

欢迎光临本博客

  • 博客(6)
  • 资源 (4)
  • 收藏
  • 关注

原创 spdlog Features

Very fast (seebenchmarksbelow). Headers only or compiled Feature rich formatting, using the excellentfmtlibrary. Asynchronous mode (optional) Customformatting. Multi/Single threaded loggers. Various log targets: Rotating log files. Daily log ...

2020-09-29 16:51:13 379

原创 libevent源码学习(14):IO复用模型之epoll的封装

目录Libevent提供的epoll后端结构体初始化epoll_init何时调用epoll_init事件添加epoll_nochangelist_add何时调用epoll_nochangelist_add事件删除epoll_nochangelist_del何时调用epoll_nochangelist_del事件监听epoll_dispatch为什么evmap_io_active的第三个参数需要或上一个EV_ET?何时调用epoll_dispatchepoll销毁e

2020-09-27 15:32:38 578

原创 当NONCOPYABLE遇见SINGLETON

在实现单例类时,通常要把构造相关的几个函数访问权限设为private或protected(最好是private)。但假设一个大型系统中,有数十个单例类(这很正常,单例类其实是外观模式的一种最常用设计),每一个都这么写显得繁琐不堪。要把这些操作代表的代码复用,可以使用c++语言提供的利器---继承。设计如下的基类:1 class NonCopyable {2 public:3 NonCopyable() = default;4 NonCopyable(const NonCopy

2020-09-09 11:02:40 236

转载 C++11 实现简单的阻塞队列

一个blocking queue是一个支持 take 和 put 的 queue。take操作从队列中取出一个元素,如果队列为空,那么take会阻塞到直到队列中有可用元素。put操作往队列里放入一个元素,如果队列是满,那么put会阻塞到队列有可用空间。一个简单的blocking queue的实现,首先我们要有一个非常底层的容器,至于是vector还是deque甚至是list都无所谓,我们这里选择deque作为容器。前面定义的blocking queue是有界的,也就是说元素有上限,所以才会出

2020-09-08 10:33:57 748

转载 BlockingQueue(阻塞队列)详解

一. 前言  在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。二. 认识BlockingQueue  阻塞队列,顾名思义,首先它是一个队列,而一个队列在数据结构中所起的作用大致如下图所示:  从上图我们可以很清楚看到,通过一个共享的队列,可以使得数据由队列

2020-09-04 20:01:07 785

原创 epoll机制:epoll_create、epoll_ctl、epoll_wait、close

在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,linux/posix_types.h头文件有这样的声明:#define__FD_SETSIZE1024表示select最多同时监听1024个fd,当然,可以通过修改头文件...

2020-09-02 10:55:39 1347

Linux应用开发第十四章CAN编程应用开发 源码

Linux应用开发第十四章CAN编程应用开发 源码

2024-04-03

蓝牙低功耗 知识讲解

关于蓝牙低功耗的讲解,主要包括蓝牙历史,蓝牙的体系结构

2018-06-27

listen-on-ipv4-and-ipv6-interfaces.py

Receive SNMP TRAP messages with the following options: SNMPv1/SNMPv2c with SNMP community “public” over IPv4/UDP, listening at 127.0.0.1:162 over IPv6/UDP, listening at [::1]:162 print received data on stdout

2018-04-17

基于MP430的示波法血压计设计

基于MP430的示波法血压计设计,希望能给你一点点思路

2014-10-16

空空如也

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

TA关注的人

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