自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 【Go进阶】怎么实现并发安全的map

go语言提供的数据类型中,只有channel是并发安全的,基础map并不是并发安全的。以下三种方案实现了并发安全的map。

2023-12-06 17:17:53 1476 1

原创 【Golang基础】channel

不要通过共享内存的方式进行通信,而是应该通过通信的方式共享内存。

2023-09-25 10:57:24 127 1

原创 【Golang基础】map

map是一个储存键值对的数据类型,其底层是哈希表,对map的读写操作是O(1)的时间复杂度。实现这样的数据类型需要注意两点——和方法。

2023-09-24 16:33:00 113 1

原创 【Golang基础】Slice

切片是Go的以中基础数据类型,它可以在程序运行中动态的扩大自己的容量,使用起来很方便。

2023-09-23 16:50:46 153 1

原创 【Gin框架】理解Gin的中间件实现原理

中间件的实现有:链式调用, 拦截器,注册中心等方式,Gin框架使用的是 链式调用+ 洋葱模型 。

2023-09-22 12:21:53 192

原创 【RWMutex】读写锁的实现原理

Go标准库中的RWMutex是基于Mutex实现的。RWMutex包含一个Mutex,以及四个辅助字段。字段 w:为 writer 的竞争锁而设计;字段 readerCount:记录当前 reader 的数量(以及是否有 writer 竞争锁);readerWait:记录 writer 请求锁时需要等待 read 完成的 reader 的数量;writerSem 和 readerSem:都是为了阻塞设计的信号量。常量 rwmutexMaxReaders,定义了最大的 reader 数量。

2023-09-21 09:17:24 104

原创 【计算机网络】三次握手

第一次握手,客户端将请求中SYN设置为1,初始化序列号,发送给服务端。第二次握手,服务端接收到信息后,将SYN和ACK设置为1,并将Ack设置为接收到的序列号+1,再初始化自己的序列号,发送给客户端。第三次握手,客户端接收到信息后,将ACK设置为1,同时Ack设置接收到的序列号+1,发送给服务端。

2023-09-20 09:40:57 119 1

原创 【Gin框架】Gin框架Run起来的前后事

Run起来前的初始化调用`Default`函数初始化了`Engine`结构体

2023-09-10 21:51:45 368 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除