Go从入门到实战——协程机制(笔记)

Thead和Groutine比较

在这里插入图片描述

多对多简图

在这里插入图片描述
多对多情况下,多个Goroutine对应同一个系统线程,相互之间的切换成本较低

Go基本调度机制

在这里插入图片描述

  • Processor会对一点时间内完成的Goroutine数量进行计数,如果长时间没有发生改变,就会将目前正在执行的Goroutine插到队尾;
  • 当某一个Goroutine被系统中断了如读写IO操作,Processor会把自己移动到另一个System Thread中继续完成其他Goroutine。并将目前运行记录下来,执行完IO之后,继续回来操作

错误使用方法

在这里插入图片描述
被注释掉的内容是正确的,因为在go中进行函数调用,传入的参数都是值传递,即,重新复制一份;而没有注释的代码内容,i是共享变量,需要锁来完成。

猜你喜欢

转载自blog.csdn.net/weixin_42094659/article/details/107732110
今日推荐