中级会员
  • 第 2 位会员
  • Hubery
  • 810289854@qq.com
  • 2013-03-15 13:47:49
  • Offline
  • 19 55

最近发布的文章

    暂无

最近发布的项目

    暂无

最近的评论

  • #5 @abin 传递slice时实际是共用了底层的一段内存地址,读chan时可能生产者已经改变了底层数组里的数据,读到的是最新的
  • 还是 github.com/pkg/errors用着觉得好用
  • 评论了资源 Go 2.0 for Teaching
    Suggested Changes to Go 这段没法看了 按这个思路不如用python
  • 评论了主题 go语言协程问题
    #26 @hzsunsong G: 表示goroutine,存储了goroutine的执行stack信息、goroutine状态以及goroutine的任务函数等;另外G对象是可以重用的。 P: 表示逻辑processor,P的数量决定了系统内最大可并行的G的数量(前提:系统的物理cpu核数>=P的数量);P的最大作用还是其拥有的各种G对象队列、链表、一些cache和状态。 M: M代表着真正的执行计算资源。在绑定有效的p后,进入schedule循环;而schedule循环的机制大致是从各种队列、p的本地队列中获取G,切换到G的执行栈上并执行G的函数,调用goexit做清理工作并回到m,如此反复。M并不保留G状态,这是G可以跨M调度的基础。
  • 评论了主题 go语言协程问题
    #24 @Hubery 基于go1.9