- 博客(8)
- 收藏
- 关注
原创 【Go进阶】怎么实现并发安全的map
go语言提供的数据类型中,只有channel是并发安全的,基础map并不是并发安全的。以下三种方案实现了并发安全的map。
2023-12-06 17:17:53 1476 1
原创 【Golang基础】map
map是一个储存键值对的数据类型,其底层是哈希表,对map的读写操作是O(1)的时间复杂度。实现这样的数据类型需要注意两点——和方法。
2023-09-24 16:33:00 113 1
原创 【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
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人