惊喜程序问题集(19) - 神奇的合唱

  1. 运行下面这段代码,并解释它的输出
  2. 将main函数中go sing(chordC)这一行的chordC改为mute后再次运行,并解释它的输出
//chorus.go

package main

import (
    "fmt"
    "runtime"
)

func mute() {
    for i := 0; i < 1000000000; i++ {
    }
}

func sing(tones func()) {
    for {
        mute()
        tones()
    }
}

func chordC() {
    fmt.Println("Do Mi So")
}

func chordG() {
    fmt.Println("So Ti Re")
}

func main() {
    n := runtime.NumCPU()
    for i := 0; i < n; i++ {
        go sing(chordC)
        //go sing(mute)
    }
    sing(chordG)
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容