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