相关疑难解决方法(0)

扔:所有的goroutines都睡着了 - 僵局

给出以下简单的Go程序

package main

import (
    "fmt"
)

func total(ch chan int) {
    res := 0
    for iter := range ch {
        res += iter
    }
    ch <- res
}

func main() {
    ch := make(chan int)
    go total(ch)
    ch <- 1
    ch <- 2
    ch <- 3
    fmt.Println("Total is ", <-ch)
}
Run Code Online (Sandbox Code Playgroud)

我想知道是否有人可以告诉我为什么我得到

throw: all goroutines are asleep - deadlock!
Run Code Online (Sandbox Code Playgroud)

谢谢

multithreading deadlock channel go

21
推荐指数
1
解决办法
1万
查看次数

标签 统计

channel ×1

deadlock ×1

go ×1

multithreading ×1