stackless.taskletを試してみた。
import stackless def foo(name): for i in range(5): print name, i stackless.schedule() [stackless.tasklet(foo)(s) for s in ['hoge', 'fuga', 'bar']] r = stackless.run(10) print '-----' r.insert() stackless.run()
で、出力結果は、
hoge 0 fuga ----- bar 0 hoge 1 0 bar 1 hoge 2 fuga 1 bar 2 hoge 3 fuga 2 bar 3 hoge 4 fuga 3 bar 4 fuga 4
となった。なるほど面白い。
調子に乗ってtaskletを100000個ぐらい作って実行してみたけど、問題なく動いてる。
さすがだ。