自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 资源 (1)
  • 收藏
  • 关注

原创 boost线程同步(2)——条件变量(POSIX)

boost是一个优秀的跨平台c++库,既然是跨平台那么它肯定封装了许多与具体的操作系统相关的内容。比如,windows和linux在文件系统、线程操作等等上有许多的不同之处,而boost封装了其中的差异,以一种统一的方便用户操作的形式展现出来。 简单易用是一方面,还有一方面是boost既支持原有操作系统的功能,又在其上进行了扩展,使C++变得更加强大。 今天我们谈谈boost对条件变量的

2016-06-02 23:30:15 628

原创 BOOST锁机制(1)

首先来看几个例子,这个几个例子都是错误的使用boost的mutex。根本原因是对加锁原理认识不清楚。 BAD1: ShareData.h用于定义共享数据#ifndef __SHARE_DATA_H__#define __SHARE_DATA_H__namespace BOOST_TEST{ class CShareData { public: CSha

2016-06-01 00:28:41 441

原创 RAII(资源创建即释放)

RAII是一种技术,利用了C++局部对象在跳出作用域时执行析构函数的机制,将一些资源的释放安排在析构函数中,保证安全的使用资源。 举个例子: A.h class A { public: A(int size); virtual ~A(); public: void SetMem(int size, char va

2016-05-31 22:44:27 390

原创 一种双向链表设计方法(C++)

leveldb源码实现的双向链表。 设计思想: <1>链表由表头和表元素构成 <2>表头是一个特殊的表元素 <3>元素从表尾插入 链表实现:class SnapshotImpl;class SnapshotList {public: SnapshotList() { list_.prev_ = &list_; list_.next_

2016-05-24 23:47:14 377

原创 boost的shared_ptr循环引用(1)

A.h#include "B.h"class A{ public: A(); virtual ~A(); public: BPtr m_ptrB;}typedef boost::shard_ptr<A> APtr; B.hclass B{ public: B(); virtual ~

2016-05-19 23:43:02 266

原创 创建一个基于套接字的bufferevent实例-echo程序的实现

在libevent的官方文件中指出bufferevent有四种类型,分别如下:     (1)基于套接字的bufferevent     (2)异步IObufferevent     (3)过滤型bufferevent     (4)成对的bufferevent  在本文中,我们只介绍基于套接字的bufferevent,这种类型的bufferevent是使用最多的。剩下的三种类

2014-12-29 16:12:42 2456

原创 libevent之bufferevent的基本结构

在bufferevent出现之前,我们通常先检测数据源输入buffer内是否有数据,如果有数据那么就将其中的数据写入到自己定义的缓冲区中。这样可能会发生频繁读写的问题。如果我们希望数据源中输入buffer积攒到一定量数据的时候再进行读写,那么就需要使用bufferevent了。图1显示了不使用bufferevent时对数据源进行读写的结构。图1 不使用buffere

2014-12-25 13:48:33 862

原创 libevent之bufferevent概述

libevent将它所看到的一切都看做事件来处理,这次我们经常使用的读写缓冲区也未能幸免。那么为什么libevent会把读写缓冲区加入到它的事件机制中呢?在回答这个问题之前,首先看一下客户端网络套接口的读写事件。我们用一段话来描述它:  客户端创建套接口,对套接口进行设置,然后调用connect连接到服务器端。如果连接成功,并且套接口可读、可写或者发生错误,那我们就执行相应的操作。  那么

2014-12-24 22:45:33 475

645-97/07测试软件

一款用于测试645-07/97协议的模拟电表软件,功能强大、支持所有07/97数据项。配置简单,灵活。

2014-10-13

空空如也

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

TA关注的人

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