python program without stackless.run()

ravi temp.sha at gmail.com
Thu Jun 18 15:47:14 EDT 2015


Hi,

I could not understand how the below program executes function "fun" without calling stackless.run() in the program?  Here "fun" runs as a tasklet and as per my knowledge for that stackless.run() is must.



-----------------------------------------------------------------
import stackless

class A:
    def __init__(self,name):
        self.name = name
        self.ch = stackless.channel()
        stackless.tasklet(self.fun)()

    def __call__(self,val):
        self.ch.send(val)

    def fun(self):
       while 1:
         v = self.ch.receive()
         print "hi" , v


if __name__ == "__main__":
    obj = A("sh")
    obj(6)
-----------------------------------------------------------------

output:
----------
hi 6





thanks,
ravi



More information about the Python-list mailing list