collecting results in threading app

Gerardo Herzig gherzig at fmed.uba.ar
Fri Apr 4 10:42:16 EDT 2008


Hi all. Newbee at threads over here. Im missing some point here, but cant 
figure out which one.

This little peace of code executes a 'select count(*)' over every table 
in a database, one thread per table:
<code>
class TableCounter(threading.Thread):
    def __init__(self, conn, table):
        self.connection = connection.Connection(host=conn.host, 
port=conn.port, user=conn.user, password='', base=conn.base)
        threading.Thread.__init__(self)
        self.table = table

    def run(self):
        result =  self.connection.doQuery("select count(*) from %s" % 
self.table, [])[0][0]
        print result
        return result


class DataChecker(metadata.Database):

    def countAll(self):
        for table in self.tables:
            t = TableCounter(self.connection, table.name)
            t.start()
        return
</code>

It works fine, in the sense that every run() method prints the correct 
value.
But...I would like to store the result of t.start() in, say, a list. The 
thing is, t.start() returns None, so...what im i missing here?
Its the desing wrong?

thanks!

Gerardo



More information about the Python-list mailing list