t1=threading.Thread(target=self.read())
print "something"
t2=threading.Thread(target=self.runChecks(), args=(self))
self.read запускается бесконечно, поэтому программа никогда не достигнет строки print. Как это возможно без вызова t1.start()? (Даже если я назову это, оно должно начать работать и перейти к следующей строке, не так ли?)