Am 21.08.2013 08:50, schrieb chandan kumar:
class Test(threading.Thread):
       def StartThread(self):
        Lock = threading.Lock()
         self.start()

Inconsistently indented code, this is a killer for Python. Please read PEP8 and use four spaces! That said, there is never a need for deriving from the Thread class, you can also use it to run a function without that. That way is IMHO clearer because the threading.Thread instance is not the thread, just like a File instance is not a file. Both just represent handles for manipulating the actual thing.

Further, you have a local variable called "Lock" here (should be lowercase, see PEP 8) that you don't use. This is either a bug you missed or at least code that you didn't trim in order to produce a minimal example.


class Test1(threading.Thread):
     def __init__(self):
         threading.Thread.__init__ ( self )

Check out the "super()" syntax.


1.Difference between  def StartThread(self) and def __init__(self):

__init__ is a special function that gets called automatically. Search online for the documentation and or further explanations.


3. Lets say self is passed explicitly for all the methods Like
     def method1(self)
          method2()
    def  method2(self):
          method3()
    def method(self)
         method4()
    def method4(self)
What does self holds in method4 ,Is it self argument from method1?
Sorry i'm confused with self argument.

"self" is just a name like others, only that it is customarily used for the first parameter of memberfunctions, i.e. for the instance of the according class. That said, above seven lines don't really serve to illustrate anything, because they are far from valid Python code.

I think before tackling threading, you should first go through some tutorials and documentation. I'd start with http://docs.python.org and/or do some online searches.

Good luck!

Uli

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to