其他分享
首页 > 其他分享> > NetServer开发文档(一)

NetServer开发文档(一)

作者:互联网

NetServer开发笔记(一)

一、 锁的设计

1. MutexLock的设计

是对pthread_mutex的封装,包含的头文件是pthread.h

数据成员:

函数成员:

2. MutexLockGuard的设计

以RALL的方式对MutexLock的封装

数据成员:

函数接口:

3. 与muduo网络库的不同

​ 其中还增加了一个_hold数据成员,表示锁住时持有这个锁的线程的真实id(tid),具体看源码

  void lock()
  {
    pthread_mutex_lock(&mutex_);
    holder_ = CurrentThread::tid();
  }

二、 条件变量的设计

1. Condition的封装

对pthread_cond的封装, 包含的头文件是pthread.h

数据成员:

函数成员:

三、原子封装

1. AtomicIntegerT的封装

包含的头文件stdint.h,模板类,封装了GCC提供的原子性操作

数据成员:

函数成员:

四、不可拷贝类的封装

  1. 只需要拷贝构造函数和赋值运算函数封装成私有函数即可,并将其不允许拷贝的类继承他即可
  2. 最新的C++11只需将拷贝构造函数与赋值运算函数后面加=delete即可,但是对于此不适用
  3. 如果不做特殊说明,开发过程中的所有过程都是不能拷贝的

标签:NetServer,封装,函数,cond,开发,文档,pthread,mutex,MutexLock
来源: https://blog.csdn.net/qq_40028201/article/details/94358980