摘要: Atomic 在 Atomic.h 文件中定义了原子操作类类型 AtomicIntegerT<T>,它使用了 GCC 内置的原子操作来实现。 原子操作在多线程开发中经常用到,比如计数器、序列产生器等。这些情况下数据有并发的危险,但是用锁去保护又显得有些浪费,会造成一定的性能瓶颈,而原子操作则更为节省 阅读全文
posted @ 2022-10-14 16:40 Leaos 阅读(124) 评论(0) 推荐(0) 编辑
摘要: WeakCallback 在 WeakCallback.h 文件中定义了模板类 WeakCallback,在其模板参数中,有一个可变模板参数 ARGS,用以指示回调函数的参数。 在类内部,定义有两个成员变量,分别是 object_ 和 function_。 成员变量 object_ 是一个弱指针类型 阅读全文
posted @ 2022-10-14 13:57 Leaos 阅读(141) 评论(0) 推荐(1) 编辑
摘要: ProcessInfo 在 ProcessInfo.h 文件中,存在一个命名空间 ProcessInfo,其中声明了大部分进程需要使用到相关信息的函数,比如进程的 PID、UID、EUID,主机名,进程状态,程状态等等。 在 ProcessInfo.cc 的 detail 命名空间定义了如下几个函数 阅读全文
posted @ 2022-10-14 13:53 Leaos 阅读(55) 评论(0) 推荐(0) 编辑
摘要: StringPiece 在 StringPiece.h 文件中,声明了两个类类型,一个是 StringArg,另一个是 StringPiece,前者用于在传递函数参数时同时兼容 C 风格的字符串(const char*)和 C++ 风格的字符串(std::string)。而后者则可用于构建同时兼任这 阅读全文
posted @ 2022-10-14 13:50 Leaos 阅读(82) 评论(0) 推荐(0) 编辑
摘要: CurrentThread 在 CurrentThread 命名空间中实现了有关线程 id 的管理和优化。其主要用于获取当前线程的 id,并将线程 id 保存为 C 语言风格的字符串: extern __thread int t_cachedTid; // 线程id extern __thread 阅读全文
posted @ 2022-10-14 13:44 Leaos 阅读(76) 评论(0) 推荐(0) 编辑