摘要: sync包下:Once,Pool,Cond 一、sync.Once 执行一次 Once 简介 sync.Once 是 Go 提供的让函数只执行一次的一种实现。 如果 once.Do(f) 被调用多次,只有第一次调用会调用 f。 常用场景: 用于单例模式,比如初始化数据库配置 Once 提供的方法: 阅读全文
posted @ 2023-03-23 19:03 九卷 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 一、sync 包简介 在并发编程中,为了解决竞争条件问题,Go 语言提供了 sync 标准包,它提供了基本的同步原语,例如互斥锁、读写锁等。 sync 包使用建议: 除了 Once 和 WaitGroup 类型之外,大多数类型旨在供低级库程序使用。更高级别的同步最好用 channel 通道和通信来完 阅读全文
posted @ 2023-03-23 19:02 九卷 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 一、简介 channel 不仅可以用于 goroutine 间进行安全通信,还可以用于同步内存访问。 而且 Go 社区强烈推荐使用 channel 通道实现 goroutine 之间的通信, 不要通过共享内存来通信,而应该通过通信来共享内存。 Go 从语言层面保证了同一时间只有一个 goroutin 阅读全文
posted @ 2023-03-23 19:01 九卷 阅读(103) 评论(0) 推荐(0) 编辑
http://www.vxiaotou.com