IT入门 > 教程 > Go语言教程 > 并发 >
  • Go语言channel简介 日期:2025-10-15 点击:9877 并发

    在Go语言里,channel是一等公民。它可在不同goroutine间安全传递数据,避免并发问题。 package mainimport "fmt"func main() { // 创建一个整数类型的channel ch := make(chan int) fmt.Println(ch) // 输出channe...

  • Go语言channel的数据发送与接收 日期:2025-10-15 点击:1957 并发

    channel可用于数据发送和接收。使用" package mainimport "fmt"func main() { ch := make(chan int) go func() { ch 发送和接收操作默认是阻塞的,即发送数据时若无人接收会阻塞,接收时若无数据也会阻塞...

  • Go语言channel与select结合使用 - 基本用法 日期:2025-10-15 点击:3000 并发

    在Go语言里,channel和select结合使用能处理多个channel的操作。select语句可让程序同时等待多个channel操作,哪个channel准备好了就执行对应的分支。 package mainimport "fmt"func main() { ch1 := make(...

  • Go语言channel与select结合使用 - 超时处理 日期:2025-10-15 点击:470 并发

    结合channel和select可实现超时处理,避免程序无限期阻塞。 package mainimport ( "fmt" "time")func main() { ch := make(chan int) go func() { time.Sleep(2 * time.Second) ch 使用time.After函数可设置超时时间,避免程...

  • Go语言使用WaitGroup简介 日期:2025-10-15 点击:3769 并发

    在Go语言里,WaitGroup可用于等待一组goroutine结束。使用时,先创建sync.WaitGroup实例,用Add方法设置等待的goroutine数量。 package mainimport ( "fmt" "sync")func main() { var wg sync.WaitGroup wg.Add(1) // 设置...

  • Go语言使用WaitGroup的完整示例 日期:2025-10-15 点击:8911 并发

    以下是完整使用WaitGroup的示例。创建WaitGroup实例后,为每个goroutine调用Add方法增加计数,在goroutine结束时调用Done方法减少计数,最后用Wait方法等待所有goroutine结束。 package mainimport (...