登录
首页 >  Golang >  Go问答

一道流传的go面试题

来源:SegmentFault

时间:2023-02-17 14:46:48 489浏览 收藏

亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《一道流传的go面试题》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下go,希望所有认真读完的童鞋们,都有实质性的提高。

问题内容

func test_gomaxprocs() {
    runtime.GOMAXPROCS(1)
    wg := sync.WaitGroup{}
    wg.Add(20)

    for i := 0; i 

我google到一个外国人写的文章,说设置CPU数目为1后,go语句函数是按顺序依次执行的。 我在wg.Wait()前sleep下,得到的输出确实是依次执行的。但是我疑惑的是,为什么已进入wg.Wait(),go语句函数的执行顺序就乱了呢?

正确答案

这个问题,time.Sleep应该是在main goroutine里执行的,至于顺序是goroutine内部调度问题,CPU到底分给了哪个goroutine这个内部控制的。这个结果和是否执行sleep应该没有必然的联系。
至于Go的调度器相关,可以看下这个文档:https://www.douban.com/note/3...

今天带大家了解了go的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表