C++并发编程 _ 基于锁的数据结构

C++并发编程 _ 基于锁的数据结构

bingliaolong C++ 3年前 27 0

意义 设计并发数据结构,意味着多个线程可以并发的访问这个数据结构,线程可对这个数据结构做相同或不同的操作,并且每一个线程都能在自己的自治域中看到该数据结构。且在多线程环境下,无数据丢失和损毁,所有的数据需要维持原样,且无条件竞争。这样的数据结构,称之为“线程安全”的数据结构。 本...

深入理解C++11:C++11新特性解析与应用 二

深入理解C++11:C++11新特性解析与应用 二 2

bingliaolong C++ 4年前 26 0

常用特殊 静态类型动态类型 主要区别在于对类型进行检查的时间点。 对于所谓的静态类型,类型检查主要发生在编译阶段。 对于动态类型,类型检查主要发生在运行阶段(和类型推导相关)。 auto auto声明变量的类型必须由编译器在编译时期推导而得。 auto声明的变量必须被初始化,以使...

51CTO:Linux C++网络编程五

51CTO:Linux C++网络编程五

平台相关 select 支持:windows 支持:linux,macos,bsd,aix等 poll 支持:linux,macos,bsd等 不支持:一些交旧的或特定的unix操作系统可能不支持poll 不支持:windows不提供标准的poll,但可以通过其他相似的api来达...

编译器扩展语法:一

编译器扩展语法:一

bingliaolong C++ 3年前 26 0

Gcc 和 Clang __attribute__ ((__visibility__("hidden"))) 用于设置符号的可见性(visibility)属性 __visibility__("default") 默认可见性,符号在链接过程中...

C++_volatile

C++_volatile

bingliaolong C C++ 1年前 25 0

变量的读取 概述 一般来说,读取一个变量的内容,是从内存里面去取的 但是,在编译时启用优化选项后,编译器可能会对代码进行优化,以提高执行效率 优化手段-寄存器 一个常见的优化手段就是将一些频繁访问的变量存储在CPU寄存器中,而不是每次都从内存中读取 这种优化可以大幅度提升程序的性...

WTL 概述

WTL 概述

bingliaolong Windows 1年前 25 0

WTL下载 WTL WTL 基础概念 定位与优势 基于 ATL 的扩展库,专注于高效 Win32 GUI 开发,无 MFC 的臃肿 优势 模板驱动:零成本抽象,代码体积小 兼容 Win32 API:直接操作窗口句柄,灵活性高。 现代 C++ 风格:支持 RAII、模板元编程 WT...

Spdlog记述:一

Spdlog记述:一

bingliaolong C++ 3年前 24 0

使用介绍 默认的 创建一个多线程日志记录器 创建的日志记录器是多线程的,这意味着它可以被多个线程同时使用,而不会发生竞争条件或数据损坏 用于创建多线程的循环日志记录器 循环日志记录器是指在达到指定大小后,会自动循环覆盖旧的日志文件并创建新的日志文件来存储日志消息 循环日志记录器还...

Effective C++_第二篇

Effective C++_第二篇

bingliaolong C++ 2年前 24 0

12 复制对象的所有部分 概述 在C++中,实现拷贝构造函数和赋值运算符时,确保复制对象的所有成员变量是至关重要的 忽略某些成员变量可能会导致不完整或错误的对象状态,进而引发难以追踪的错误 为什么要复制对象的所有部分 保持对象的一致性: 所有成员变量都应该在拷贝时保持一致,以确保...

包管理器:设计与实现

包管理器:设计与实现

bingliaolong C++ 2年前 24 0

背景 管理器用于管理多个任务 接入了管理器的模块,会根据自己要做的事情,来生成不同的任务 而这些任务的生成,是由接入了管理器的模块,通过一些重要的数据(比如目标数据包的编号,以及目标所在的位置,要求管理器执行的任务类型),来让管理器生成的不同的任务,并添加到任务队列中 目前的设计...

STL_stack

STL_stack

bingliaolong C++ 6年前 24 0

概述 stack是一种先进后出的数据结构,它只有一个出口。 stack允许新增元素,移除元素,取得最顶端元素。 SGI STL以deque作为缺省情况下的stack底层数据结构。 而stack是以底部容器完成其所有工作,具有这种“修改某物接口,形成另一种风貌”的性质的,称为配接器...

扫一扫二维码分享