🌶️1.死锁 1.1 死锁的定义 死锁,是指多个线程或者进程在运行过程中因争夺资源而造成的一种僵局,当进程或者线程处于这种僵持状态,若无外力作用,它们将无法再向前推进。 如下图所示,以申请锁资源为例。线程 A 想申请线程 B 的锁,线程 B 想申请线程 C 的锁,线
🍏1.定时器的应用 定时器就像闹钟,可以设定一个时间,然后进入倒计时,到点了提醒我们。同样,应用开发也需要一个定时器,通过设定时间,到点了唤醒程序去执行某项任务。 常见的应用场景有: 1)心跳检测 2)游戏技能冷却 3)倒计时 4) 其他需要延时处理的功能 定时器由两部分组成:容器 + 检测触发机
🍔1. 无锁队列 1.1 什么是无锁队列 无锁队列(Lock-Free Queue)是一种并发数据结构,它允许多个线程在没有锁的情况下进行并发操作。 传统的队列通常通过互斥锁来实现线程安全的操作,但互斥锁在高并
🍇1. CPU缓存结构 1.1 CPU的多级缓存 因为CPU的计算速度非常快,但内存的访问速度相对较慢。因此,如果CPU每次都要从内存读取数据,会造成大量的等待时间,降低整体性能。 通过引入多级缓存,可以在CPU和内存之间建立数据缓存层,将最常用的数据暂时保存在靠近CPU的高速缓存(CPU Cac
⌚️1.数据库连接池 1.1池化技术 在手写线程池一文中,我们简单介绍了什么是线程池、为什么需要线程池、以及如何实现线程池。本文介绍的数据库连接池,与线程池一样,也是利用池化技术来避免频繁创建资源对象,从而减小系统开销。
🐱Resource Kubernetes中的大部分概念如 Node、Pod、Replication Controller、Service 等都可以被看做一种资源对象,几乎所有资源对象都可以通过Kubernetes提供的kubectl工具(或API编程调用)执行增、删、改、查等操作并将其保存在etc
⚾️概述 是什么:是对内存块的管理组件 作用: 对整块的内存进行集中管理。 避免了频繁向OS调用malloc 避免了内存碎片 🥏C++ STL内存池实现
文档:https://docs.docker.com/engine/reference/builder/ dockerfile介绍 dockerfile是什么 Dockerfile是一个创建镜像所有命令的文本文件, 包含了一条条指令和说明, 每条指令构建一层, 通过 docker build命令,根