摘要: 一、数据安全性控制(data race) 互斥锁 sync.Mutex 读写锁 sync.RWMutex 原子操作sync/atomic 二、并发gorutine行为控制 sync.WaitGroup(等待所有gorutine全部结束) channel(可以用有缓冲队列控制gorutine的数量,可 阅读全文
posted @ 2022-03-15 10:44 hugeQAQ 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 一、什么是内存逃逸? golang在编译时,需要确定一个变量到底是在栈上分配内存,还是在堆上分配内存,不能在栈上分配的变量,就只能在堆上分配,就说这个变量内存逃逸了。 二、什么时候会内存逃逸? 引起内存逃逸的关键:编译器在编译时,无法确定变量的生命周期,只能在运行时控制。 函数返回了局部变量的指针 阅读全文
posted @ 2022-03-15 10:33 hugeQAQ 阅读(151) 评论(0) 推荐(0) 编辑