logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

一文理解 Linux 线程:线程、进程、LWP 到底是什么关系?

学完线程这一部分之后,我最大的感受是:线程并不是孤立的一个 API 知识点,而是把进程地址空间、页表、调度、信号、栈、系统调用这些内容串在了一起。刚开始我只是觉得线程就是“多条执行路线”,会创建、会等待就差不多了。后来真正往底层看,才发现线程为什么轻量、为什么共享资源、为什么又有自己的栈,背后其实都和虚拟地址空间有关。尤其是pthread_t和LWP这一块,让我意识到 Linux 线程并不是单纯由

文章图片
#linux#运维#服务器 +3
一文搞懂 Linux 多线程互斥、同步、条件变量与信号量

本文围绕 Linux 多线程互斥与同步展开,从共享资源、临界区和互斥锁入手,分析 ticket-- 非原子导致的线程安全问题,并进一步讲解条件变量、生产者消费者模型、POSIX 信号量、环形队列、线程池、单例模式、可重入函数及 STL/智能指针线程安全等核心内容。

文章图片
#linux#java#运维 +2
C++类和对象--构造函数和析构函数详解

C++中的构造函数与析构函数是类的重要成员函数,分别负责对象的初始化和资源释放。构造函数在对象创建时自动调用,具有与类同名、无返回值、可重载等特点,编译器会默认生成无参构造函数。析构函数在对象销毁时自动调用,用于资源清理,类名前加~,无参无返回值。当类中有动态资源申请时,必须显式定义析构函数以避免内存泄漏。编译器生成的默认析构函数会处理自定义类型成员的析构。多个局部对象按定义顺序逆序析构。

文章图片
#c++#开发语言#算法
C++11中的{}与std::initializer_list

C++11引入了{}统一初始化语法,支持所有类型使用{}初始化,包括内置类型和自定义类型。相比C++98仅支持数组和结构体初始化,C++11的{}初始化更简洁,可省略=号,在多参数构造时尤为方便。标准库新增std::initializer_list容器,底层存储数组指针,支持迭代器遍历。STL容器都支持initializer_list构造函数,使容器初始化更加灵活,如vector<int&g

文章图片
#c++#开发语言
C++11中的右值引用和移动语义

本文摘要:文章详细介绍了C++中的左值和右值概念:左值表示持久数据对象(如变量、解引用指针),可寻址并出现在赋值号两侧;右值表示临时数据(如常量、表达式结果),仅出现在赋值号右侧且不可寻址。通过代码示例展示了左值引用和右值引用的用法及区别,并说明右值引用和const左值引用可延长临时对象生命周期。文章还探讨了参数匹配规则,以及移动构造和移动赋值的实现原理——通过"窃取"右值资源避免深拷贝,提升效率

文章图片
#c++#开发语言
C++11可变参数模板

本文聚焦 C++11 可变参数模板,先讲类模板和函数模板的基础声明,再解析编译期实例化与参数包递归扩展逻辑,结合模拟list::emplace_back、通用参数转发案例,展现其高效构造对象、简化泛型代码的价值,提及空包声明、完美转发等注意事项,助快速掌握这一泛型编程利器。

文章图片
#c++#开发语言
C++11中新的类功能

聚焦C++11新增的四大类核心功能,包括默认移动构造/移动赋值、成员变量缺省值、default/delete关键字及final/override关键字。默认移动语义通过“窃取”右值资源优化深拷贝效率,编译器可自动生成或手动实现;成员变量缺省值集中管理默认值,简化构造函数设计;default/delete关键字精准控制默认函数生成,替代C++98隐晦写法;final/override规范继承体系,避

文章图片
#c++#开发语言#数据结构 +1
C++11中的lambda表达式详解

本文聚焦C++11核心特性Lambda表达式,解析其语法、机制与实用价值。Lambda为匿名函数对象,基础语法支持捕捉列表、参数列表等部分灵活简化,核心优势是无需定义独立函数或仿函数,可在局部直接封装逻辑,通过值捕捉、引用捕捉等复用上下文变量。文中结合代码示例,展示其在STL算法、变量交换等场景的应用,点明全局Lambda捕捉列表需为空等关键规则。其本质是编译器生成的匿名仿函数,兼具简洁性与灵活性

文章图片
#c++#开发语言#数据结构
C++中的异常

本文聚焦C++异常处理核心知识点,从异常的概念、抛出与捕获机制入手,详解栈展开、类型匹配规则(含3种特殊转换)、异常重新抛出等关键逻辑。结合实际场景,分析异常安全问题与解决方案,介绍异常规范的用法,并对比标准库异常体系与自定义异常设计。通过清晰示例与实用技巧,展现异常处理如何摆脱错误码的冗余传递,实现错误检测与处理的分离,帮助开发者掌握这一构建稳健、可维护C++程序的核心工具。

文章图片
#c++#java#android
C++智能指针详解

本文围绕C++智能指针展开,详解其基于RAII的核心设计思想,梳理`unique_ptr`(单所有权)、`shared_ptr`(共享引用计数)、`weak_ptr`(解循环引用)等标准库实现的特性与适用场景。同时涵盖删除器定制、线程安全(`mutex`同步)、内存泄漏规避等关键问题,对比智能指针演进历程,结合代码示例拆解核心原理。旨在帮助开发者掌握智能指针的选型与实操,借助其自动资源管理能力,提

文章图片
#c++#开发语言#数据结构 +1
    共 19 条
  • 1
  • 2
  • 请选择