2012-08-03 15 views
9
t1=threading.Thread(target=self.read()) 
    print "something" 
    t2=threading.Thread(target=self.runChecks(), args=(self)) 

self.read रन अनिश्चित काल के लिए बुला रहे हैं, तो प्रोग्राम कभी प्रिंट लाइन तक पहुँच नहीं होगा पहले से चल रहा है शुरू होता है। T1.start() को कॉल किए बिना यह कैसे संभव है? (यहां तक ​​कि अगर मुझे लगता है कि कहते हैं, उसका चलना आरंभ shold और अगली पंक्ति पर जाने, ऐसा नहीं होना चाहिए?)अजगर धागा Thread.start

उत्तर

11

आप परिणाम थ्रेड का लक्ष्य तर्क को self.read की गुजर रहे हैं। थ्रेड कॉल करने के लिए एक फ़ंक्शन को पारित करने की अपेक्षा करता है, इसलिए केवल कोष्ठक को हटाएं और थ्रेड शुरू करने के लिए याद रखें:

t1=threading.Thread(target=self.read) 
t1.start() 
print "something" 
संबंधित मुद्दे