实现lockfree容器:freelist,stack和queue

实现一个xyz系列算是本博客的月指活了,这次写的是lockfree容器(硬核程度越来越高,以后咋低成本水文章啊) 声明 不建议自己从零造lockfree轮子,至少需要有paper支撑,或者从已有的项目中改进 否则无法证明代码是正确的 为此本文参考了模板库boost::lockfree的实现以及MS Queue的paper(Simple, Fast, and

浅谈C++内存模型

声明 本文章是从较为实际的角度去分析C++内存模型,涉及到memory order,modification order和release sequence 虽然内容和概念相比于标准是有所删减的,但我希望这篇文章相比cppreference是更易于理解的 (更多…)

从deadline调度看elevator

前言 Linux内核中的elevator layer就是IO调度层 之所以把IO视为电梯,是因为它的物理特性和生活上的电梯差不多: 消费者(电梯)远跟不上生产者(乘客等待上下楼)的速度 寻址方式说是随机访问(到哪都行),但其实条件苛刻(反方向哪怕只差一个楼层,也可能等半天) (更多…)

modern microprocessors简单介绍[一]

这篇文章是90-Minute Guide!的简单阅读笔记 原文是一篇极佳的、点到为止的概述性文章,我推荐直接阅读 而不是看我这种比机翻还差劲,比原文更短但是对读者没有任何帮助的文章 但是,如果你希望有一个10-Minute Guide,可以考虑往下看看 (更多…)

epoll in depth

由于要做年轻人的第一次技术分享,因此我挑了个epoll实现原理作为课题,主要是先做下快速介绍,然后直接杠源码(长篇大论没人听警告) (更多…)

C++智能指针和接口设计

智能指针包括shared_ptr,weak_ptr和unique_ptr, 如果接口中作为参数去传递,那么需要考虑是pass by value还是by ref, 如果传入了,又该如何使用才能尽量鲁棒, 可有够纠结的 (更多…)

Head First设计模式学习笔记

本篇是head first设计模式的读书笔记,关键的定义我会摘录书里的原话(一般比较简短),自己思考的部分不一定很正确,有错误请指出(又没人看唉) (更多…)