1

这是我正在运行的一段代码及其输出:

import gevent
from gevent.event import Event


evt = Event()
In [45]: def op():
   ....:         global x
   ....:         while x<100:
   ....:                 x+=1
   ....:                 gevent.sleep(1)
   ....:                 evt.set()
   ....:

In [46]:

In [46]: def p():
   ....:         global x
   ....:         print 'changing x'
   ....:         x += 20
   ....:         print x
   ....:         evt.wait()
   ....:

In [47]: x = 10


In [48]: gevent.joinall([gevent.spawn(op),gevent.spawn(p)])
changing x
31

In [49]: x
Out[49]: 100

In [50]: x = 2

In [51]: gevent.joinall([gevent.spawn(op),gevent.spawn(p)])
changing x
23

In [52]: x
Out[52]: 100

我正在尝试弄清楚如何使用 gevent 在两个不同的函数/方法上对某个对象(var、func 等)进行操作?所以它对一个进行操作,让我们在 foo1() 中说,如果对象等于某个值,则它转到 foo2() foo2 对其进行操作,当再次达到某个值 X 时,它将它传递回 foo1。

但我不清楚如何实现它。有人可以根据我上面的描述给出一些简单实用的代码片段以便我理解吗?提前致谢!

4

0 回答 0