threading multithreading

# coding:utf-8 
import time

from threading import Thread


def foo(x):#Here can take parameters def foo(x)
print "foo start startup time".decode('utf-8'), time.ctime( )
time.sleep(x)
print "foo start ends: ".decode('utf-8'), time.ctime()
return "aaa"
def soo(x):
print "soo start takes time to start".decode ('utf-8'), time.ctime()
time.sleep(x)
print "soo start end of operation".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)#simulation time-consuming

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.result

thd1 = 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()

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324755625&siteId=291194637