コード例 #1
0
ファイル: sched-test.py プロジェクト: infinit/drake
 def check(i):
   # Yield twice, to make sure lock_f has an execution slot: we
   # just woke him, so it might be scheduled after us in the next
   # round.
   sched.coro_yield()
   sched.coro_yield()
   assert beacon[0] == i
   sched.coro_yield()
   assert beacon[0] == i
   s.unlock()
   assert beacon[0] == i
コード例 #2
0
ファイル: sched-test.py プロジェクト: infinit/drake
 def coroutine_raise_meta(self):
   sched.coro_yield()
   self.coroutine_raise()
   sched.coro_yield()
コード例 #3
0
ファイル: sched-test.py プロジェクト: infinit/drake
 def main():
   with sched.Scope() as scope:
     scope.run(lambda: incrementer(beacon), 'incrementer')
     sched.coro_yield()
     sched.coro_yield()
     raise BeaconException()
コード例 #4
0
ファイル: sched-test.py プロジェクト: infinit/drake
 def incrementer(beacon):
   while True:
     beacon[0] += 1
     sched.coro_yield()
コード例 #5
0
ファイル: sched-test.py プロジェクト: infinit/drake
 def waiter(beacon):
   sched.coro_yield()
   sched.coro_yield()
   sched.coro_yield()
   beacon[0] += 1
コード例 #6
0
ファイル: sched-test.py プロジェクト: infinit/drake
 def coroutine_meta(self, n):
   self.beacon = n
   sched.coro_yield()
   self.coroutine(n + 1)
   sched.coro_yield()
   self.beacon = n + 3
コード例 #7
0
ファイル: sched-test.py プロジェクト: infinit/drake
 def coroutine(self, n):
   self.beacon = n
   sched.coro_yield()
   self.beacon = n + 1
コード例 #8
0
ファイル: sched-test.py プロジェクト: infinit/drake
 def coroutine2(self):
   self.beacon2 += 1
   sched.coro_yield()
   self.beacon2 += 1
コード例 #9
0
ファイル: sched-test.py プロジェクト: infinit/drake
 def coroutine1(self):
   self.beacon1 += 1
   sched.coro_yield()
   self.beacon1 += 1