程序员应如何理解高并发中的协程
普通的函数
def func():
print("a")
print("b")
print("c")
调用func func开始执行,直到return func执行完成,返回函数A
a
b
c
从普通函数到协程
void func() {
print("a")
暂停并返回
print("b")
暂停并返回
print("c")
}
void func() {
print("a")
return
print("b")
暂停并返回
print("c")
}
void func() {
print("a")
定
print("b")
定
print("c")
}
Show Me The Code
void func() {
print("a")
yield
print("b")
yield
print("c")
}
def A():
co = func() # 得到该协程
next(co) # 调用协程
print("in function A") # do something
next(co) # 再次调用该协程
a
a
in function A
a
in function A
b
图形化解释
函数只是协程的一种特例
协程的历史
协程是如何实现的
一个普通线程
两个协程
总结
— 【 THE END 】— 本公众号全部博文已整理成一个目录,请在公众号里回复「m」获取! 3T技术资源大放送!包括但不限于:Java、C/C++,Linux,Python,大数据,人工智能等等。在公众号内回复「1024」,即可免费获取!!
评论