11 2021 档案

摘要:结构 // WaitGroup类型的数据不可以被复制 type WaitGroup struct { noCopy noCopy // 用来禁止当前结构的类型复制 // state1 是 64-bit变量: // 高32位是计数器counter,也就是活跃的g的个数 // 低32位表示因执行Wait 阅读全文
posted @ 2021-11-27 02:26 绵羊的微笑
摘要:Go自带垃圾回收器,对于大部分的内存回收工作都可以放心的交给它来完成,但是,正如某位大明白所说,免费的东西必定早在暗中标好了价格。 例如某公司搞了个web服务器,处理一个HTTP请求,对应的会创建多个对象,待到处理完请求,GC就会把这些个对象统统给回收了。作为单身汪当然对此种浪费对象的行为表示强烈反 阅读全文
posted @ 2021-11-26 20:37 绵羊的微笑
摘要:结构 type RWMutex struct { w Mutex // 写操作的互斥锁 writerSem uint32 // 写信号量,表示写者等待读者读完 readerSem uint32 // 读信号量,表示读者等待写者写完 readerCount int32 // 读者计数器 readerW 阅读全文
posted @ 2021-11-26 05:36 绵羊的微笑
摘要:Mutex结构 type Mutex struct { state int32 sema uint32 } state 记录锁的状态,转换为二进制前29位表示等待锁的goroutine数量,后三位从左到右分别表示当前g 是否已获得锁、是否被唤醒、是否正饥饿 sema 充当临界资源,其地址作为这个锁在 阅读全文
posted @ 2021-11-26 00:49 绵羊的微笑