摘要:
sync.Mutex Go中使用sync.Mutex类型实现mutex(排他锁、互斥锁)。在源代码的sync/mutex.go文件中,有如下定义: 这没有任何非凡的地方。 和mutex相关的所有事情都是通过sync.Mutex类型的两个方法sync.Lock()和sync.Unlock()函数来完成 阅读全文
摘要:
Go channel系列 : "channel入门" "为select设置超时时间" "nil channel用法示例" "双层channel用法示例" "指定goroutine的执行顺序" 当关闭一个channel时,会使得这个channel变得可读。通过这个特性,可以实现一个goroutine执 阅读全文
摘要:
Go channel系列 : "channel入门" "为select设置超时时间" "nil channel用法示例" "双层channel用法示例" "指定goroutine的执行顺序" After() 谁也无法保证某些情况下的select是否会永久阻塞。很多时候都需要设置一下select的超时 阅读全文
摘要:
Go channel系列 : "channel入门" "为select设置超时时间" "nil channel用法示例" "双层channel用法示例" "指定goroutine的执行顺序" 当未为channel分配内存时,channel就是nil channel,例如var ch1 chan in 阅读全文
摘要:
Go channel系列 : "channel入门" "为select设置超时时间" "nil channel用法示例" "双层channel用法示例" "指定goroutine的执行顺序" 双层通道的解释见 "Go的双层通道" 以下是一个双层通道的使用示例。注意下面的示例中使用了"信号通道"(Si 阅读全文