Goroutine睡眠和代码死锁。怎么解决呢?

http://play.golang.org/p/r92-KtQEGl


我正在尝试执行此代码。它将引发死锁错误。


我想念什么?


package main


import "tour/tree"

import "fmt"


// Walk walks the tree t sending all values

// from the tree to the channel ch.

func Walk(t *tree.Tree, ch chan int){

    var temp chan int

    ch <- t.Value

    if t.Left!=nil{go Walk(t.Left,temp)}

    if t.Right!=nil{go Walk(t.Right,temp)}

    for i := range temp{

        ch <- i

    }

    close(ch)

}


// Same determines whether the trees

// t1 and t2 contain the same values.

func Same(t1, t2 *tree.Tree) bool


一只甜甜圈
浏览 148回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go