【Python协程的实现】
作者:互联网
"
补充:数据安全问题
- 进程:
- 多个进程操作同一个文件,会出现数据不安全
- 线程:
- 多个线程操作同一个全局变量,会出现数据不安全
- 对于共享的数据操作:
- 如果是 += *= /= -= 操作,都存在数据不安全问题
- 如果是append,extend,pop,remove操作,就不会出现数据不安全问题
- 协程:
- 永远不会出现数据不安全问题
- 因为协程是由程序员控制的,而程序员控制的只能是代码
协程示例代码:
- # 最简单的协程
-
- a = 0
-
- def fn1():
- global a
- g = fn2() # 拿到生成器
- next(g) # 转向fn2函数执行
- a += 1
- next(g) # 转向fn2函数执行
-
- def fn2():
- global a
- yield
- a += 1
- yield
-
- print(fn1()) # None
- print(a) # 2
标签:协程,fn2,安全,Python,global,实现,操作,数据 来源: https://www.cnblogs.com/zyk01/p/11375795.html