# coding:utf-8import timefrom threading import Threaddef foo(x):#这里可以带参数def foo(x) print "foo start 启动耗时".decode('utf-8'), time.ctime() time.sleep(x) print "foo start 运行结束:".decode('utf-8'), time.ctime() return "aaa"def soo(x): print "soo start 启动耗时".decode('utf-8'), time.ctime() time.sleep(x) print "soo start 运行结束".decode('utf-8'), time.ctime() return "bbb"class MyThread1(Thread): def __init__(self, number): Thread.__init__(self) self.num=number def run(self): print "run() start foo", time.ctime() self.result = foo(self.num)#模拟耗时 def get_result(self): return self.result#获取返回值class MyThread2(Thread): def __init__(self, number): Thread.__init__(self) self.num = number def run(self): print "run() start soo", time.ctime() self.result = soo(self.num) def get_result(self): return self.resultthd1 = MyThread1(3)thd2 = MyThread2(5)print "pre start\n\t"thd1.start()print "thd1 started\n\t"thd2.start()print "\n\t"print "thd2 started\n\t"thd1.join()thd2.join()print " \n\t"print "all done"print thd1.get_result(), time.ctime()print thd2.get_result(), time.ctime()