On Apr 3, 11:00 pm, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> wrote: > Hi, > > I have the following code which spawn a number of thread and do > something (in the run method of MyThread). > how can I record how much time does EACH thread takes to complete the > 'run'? > > for j in range(threadCount): > t = MyThread(testNo) > threads.append(t) > t.start() > testNo += 1 > > for t in threads: > print "len = %d", len(threads) > t.join() > > I have read example of timeit.Timer() funcion, but I don' t know how > can i use it in a multiple thread program? > Thank you for any help.
How about this: import time, threading class MyThread(threading.Thread): def __init__(self): threading.Thread.__init__(self) self.begin = 0 self.end = 0 def run(self): print "thread starting in background" self.begin = time.time() time.sleep(3) self.end = time.time() print "thread ending" mt = MyThread() mt.start() print "main still running in foreground" print "main going to wait for thread to end ....." mt.join() diff = mt.end - mt.begin print "Thread's run() time was: %.5f" % diff -- http://mail.python.org/mailman/listinfo/python-list