HTTP状态码


1xx 状态码API 不需要1xx状态码,下面介绍其他四类状态码的精确含义。2xx 状态码200状态码表示操作成功,但是不同的方法可以返回更精确的状态码。GET: 200 OKPOST: 201 CreatedPUT: 200 OKPATCH: 200 OKDELETE: 204

悲观锁和乐观锁

笔记  Go 

悲观锁和乐观锁悲观锁核心思想假设并发冲突一定会发生,因此在访问共享资源的时候,先加锁,确保操作期间数据不会被其它线程修改。特点提前枷锁: 操作前获取锁,操作后释放锁阻塞等待: 如果锁被占用,其它线程会阻塞或者自旋等待,直到锁释放强一致性: 保证操作期间数据的独占性,适合写多少读多少的场景典型实现互斥

Golang基本同步原语sync.Pool

笔记  Go 

Golang基本同步原语sync.Poolsync.Pool 是 Go 标准库 sync 包中的一个结构,用于管理一组可重用的对象池。通过复用对象,减少内存分配和垃圾回收的开销,从而提升程序的性能和效率。以下是对 sync.Pool 的详细讲解,包括其使用案例和使用场景。sync.Pool 的大小是

Golang 基本同步原语sync.Once

笔记  Go 

Golang 基本同步原语sync.Onecesync.Once 是 Go 语言中一个简单但强大的同步原语,用于确保某个操作在并发场景下只执行一次。它常用于延迟初始化、单例模式、全局配置加载等场景基本用法sync.Once 的核心方法是 Do(f func()),传入的函数 f 只会执行一次,即使多

Golang 并发基本同步原语 sync.Cond

笔记  Go 

Golang 基础之并发基本同步原语sync.Cond条件变量Cond类型原型type Cond struct { // L 是在观察或改变状态时保持的 L Locker // 包含过滤或未导出的字段}​func NewCond(l Locker) *Condfunc (c *Cond) Br

Golang并发(四)

笔记  Go 

Golang并发(四)转载自: Golang 基础之并发goroutine(补充)前面 《Golang 基础之并发知识 (二)》 章节已经和大家简单介绍 - 掘金goroutine是go中最基本的组织单位之一。事实上,每个go程序至少有一个: main goroutine,当程序开始的时候,会自动创

Golang 并发 (三)

笔记  Go 

Golang 并发 (三)基本同步原语Go语言在sync包中提供了用于同步的一些基本原语,包括常见的互斥锁Mutex和读写互斥锁RWMutex以及Once,WaitGroup.这些基本原语的主要作用是提供较为基础的同步功能MutexMutex 是 golang 标准库的互斥锁,主要用来处理并发场景下

Golang并发(二)

笔记  Go 

Golang并发(二)参考链接:https://juejin.cn/post/7075723579303657485GMP模型Goroutine是Go语言中的协程,实现了轻量级并发,和传统的线程相比,Goroutine有以下特点:轻量级高效调度:Go运行时在用户态进行调度,避免了频繁的上下文切换带来

Golang 并发(一)

笔记  Go 

Golang 并发(一)Golang 基础之并发知识 (一)大家好,今天将梳理出的 Go 语言并发知识内容,分享给大家。 请多多指教,谢谢。 本次 - 掘金什么是并发,并行什么是原子操作原子操作可以理解为: 在进行过程中不能被中断的操作也就是说,针对某个值的原子操作在被进行的过程中,CPU 绝不会再

Golang内存逃逸

笔记  Go 

Golang内存逃逸堆内存(Heap):一般来讲是人为手动进行管理,手动申请、分配、释放。一般硬件内存有多大堆内存就有多大。适合不可预知大小的内存分配,分配速度较慢,而且会形成内存碎片。栈内存(Stack):是一种拥有特殊规则的线性表数据结构。由编译器进行管理,自动申请、分配、释放。大小一般是固定的