entities.entities_for_tag

4 total results found

sync 包(一):sync.Mutex 和 sync.RWMutex

Go 基础教程 并发编程

sync 包 我们前面反复强调,在 Go 语言并发编程中,倡导「使用通信共享内存,不要使用共享内存通信」,而这个通信的媒介就是我们前面花大量篇幅介绍的通道(Channel),通道是线程安全的,...

由 学院君 发布于5 months ago    浏览数: 1464    点赞数: 3

sync 包(四):sync.WaitGroup 和 sync.Once

Go 基础教程 并发编程

在介绍通道的时候,如果启用了多个子协程,我们是这样实现主协程等待子协程执行完毕并退出的:声明一个和子协程数量一致的通道数组,然后为每个子协程分配一个通道元素,在子协程执行完毕时向对应的通道发送数...

由 学院君 发布于4 months ago    浏览数: 854    点赞数: 1

sync 包(三):原子操作

Go 基础教程 并发编程

中断与原子操作 我们在前两篇教程中讨论了互斥锁、读写锁以及基于它们的条件变量。互斥锁是一个同步工具,它可以保证每一时刻进入临界区的协程只有一个;读写锁对共享资源的写操作和读操作区别看待,并消除了...

由 学院君 发布于4 months ago    浏览数: 908    点赞数: 1

sync 包(二):条件变量 sync.Cond

Go 基础教程 并发编程

sync 包还提供了一个条件变量类型 sync.Cond,它可以和互斥锁或读写锁(以下统称互斥锁)组合使用,用来协调想要访问共享资源的线程。 不过,与互斥锁不同,条件变量 sync.Cond 的...

由 学院君 发布于5 months ago    浏览数: 1137    点赞数: 1