Chirpy

多线程

线程安全 从一个经典的面试题目开始:设计一个线程安全的队列。 何谓线程安全? 在多线程并发访问同一段代码或同一份数据时,程序的行为始终正确、结果可预期,不会因为执行顺序不同而出错。 为何会不安全:多个线程同时读取变量,操作不是原子的,缺少同步或可见性保证。 常见保证安全的方法:加锁(互斥锁,读写锁),使用原子操作,使用线程安全容器。 何谓队列? 队列(Queue)是一种先进先出(FIF...

进程间通信

概念 进程是操作系统中资源分配的基本单位,每个进程拥有独立的地址空间。进程间通信(Inter Process Communication,IPC), 是将这些独立进程联系起来的桥梁。让进程能够交换数据、协调行为,是实现多进程协作的核心技术。[2] 由于每个进程的地址空间是独立的,进程之间想要进行信息交换就必须通过内核。因此进程间通信会带来内核态和用户态之间切换的一些性能开销。 常见的几...

虚函数那些事儿

定义 虚函数(virtual function)是在基类中用virtual声明的成员函数,允许派生类重写。并在通过基类指针/引用调用时,按对象的真实类型在运行时决定调用哪个版本。 虚函数在设计模式 “设计模式 (计算机)”)方面扮演重要角色。例如,《设计模式》一书中提到的23种设计模式中,仅5个对象创建模式就有4个用到了虚函数(抽象工厂、工厂方法、建造者、原型),只有单例没有用到。...

你好,世界:我的技术博客正式上线

欢迎来到我的第一篇博客。 这是一篇开场白,也是一份约定:从今天开始,我会把学习、实践和思考系统地记录下来,持续输出有用、可复用、可验证的内容。 为什么要写这个博客 写作不是“展示结果”,而是“整理思路”的过程。很多问题在动手前看起来简单,真正落地时才会暴露细节和边界。 我希望通过博客做到三件事: 把零散经验沉淀成可检索的知识。 把踩坑过程写清楚,减少重复试错。 把复杂...