- 博客(9)
- 资源 (2)
- 收藏
- 关注
原创 muduo库源码学习(base)singleton
/*SFINAE的意思是这样的,假如有一个特化会导致编译时错误(即出现编译失败),只要还有别的选择可以被选择,那么就无视这个特化错误而去选择另外的可选选择。这个示例中,如果我们给传的参数T类型为POD类型,当调用detail::has_no_destroy::value时,T参数会在has_no_destroy类中实例化模板,由于是POD类型,不具备no_destroy方法,不
2017-10-31 22:32:31 460
原创 muduo库源码学习(base)mutex
class MutexLock : boost::noncopyable//最常用的类.就是std::mutex,对应的还是lock_guard和unique_lock{ public: MutexLock() : holder_(0) { MCHECK(pthread_mutex_init(&mutex_, NULL)); } ~MutexLock()
2017-10-31 22:24:14 237
原创 muduo库源码学习(base)FileUtil
class ReadSmallFile : boost::noncopyable{ public: ReadSmallFile(StringArg filename); ~ReadSmallFile(); // return errno template int readToString(int maxSize,//最大的长度 Str
2017-10-31 21:31:03 329
原创 muduo库源码学习(base)Exception
class Exception : public std::exception{ public: explicit Exception(const char* what); explicit Exception(const string& what); virtual ~Exception() throw(); virtual const char* what() const
2017-10-31 21:22:14 237
原创 muduo库源码学习(base)Date
muduo在时间上选择的是tm和timeSpecstruct tm;namespace muduo{//// Date in Gregorian calendar.//// This class is immutable.// It's recommended to pass it by value, since it's passed in register on x64.
2017-10-26 12:07:04 361
原创 muduo库源码学习(base)Thread和CurrentThread
//CurrentThread,定义了一些辅助函数namespace muduo{namespace CurrentThread{ // internal extern __thread int t_cachedTid; extern __thread char t_tidString[32]; extern __thread int t_tidStringLength;
2017-10-26 11:38:02 1214
原创 muduo库源码学习(base)CountDownLatch
#ifndef MUDUO_BASE_COUNTDOWNLATCH_H#define MUDUO_BASE_COUNTDOWNLATCH_H#include "./Condition.h"#include "./Mutex.h"#include namespace muduo{class CountDownLatch : boost::noncopyable//CountDo
2017-10-25 21:42:04 364
原创 muduo库源码学习(base)Condition
#ifndef MUDUO_BASE_CONDITION_H#define MUDUO_BASE_CONDITION_H#include "./Mutex.h"#include #include namespace muduo{class Condition : boost::noncopyable{ public: explicit Condition(MutexL
2017-10-25 14:55:09 210
原创 muduo库源码学习(base)BlockingQueue和BoundBlockingQueue
#include "./Condition.h"#include "./Mutex.h"#include #include #include namespace muduo{templateclass BlockingQueue : boost::noncopyable//为多线程准备的队列{ public: BlockingQueue() : mutex_(
2017-10-25 13:52:52 206
C++教程网视频:linux网络编程
2018-05-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人