14,写出协程实现的三种方式
利用yield实现协程
import time
def work1():
while True:
print("-----1-----")
yield
time.sleep(1)
def work2():
while True:
print("-----2-----")
yield
time.sleep(1)
th1 = work1()
th2 = work2()
while True:
next(th1)
next(th2)
利用greenlet实现协程
import time
import greenlet
def work1():
while True:
print("----1----")
th2.switch()
time.sleep(1)
def work2():
while True:
print("----2----")
th1.switch()
time.sleep(1)
th1 = greenlet.greenlet(work1)
th2 = greenlet.greenlet(work2)
th1.switch()
利用gevent实现协程
import gevent
import time
def work1():
while True:
print("----1----")
gevent.sleep(1)
def work2():
while True:
print("----2----")
gevent.sleep(1)
th1 = gevent.spawn(work1)
th2 = gevent.spawn(work2)
gevent.joinall([th1,th2])
15,存储过程的实现