使用Threading模块创建线程
使用Threading模块创建线程,直接从threading.Thread继承,然后重写__init__方法和run方法:
实例(Python 2.0+)
#!/usr/bin/python# -*- coding: UTF-8 -*-importthreadingimporttimeexitFlag = 0classmyThread(threading.Thread): #继承父类threading.Thread def__init__(self, threadID, name, counter): threading.Thread.__init__(self) self.threadID = threadID self.name = name self.counter = counter defrun(self): #把要执行的代码写到run函数里面 线程在创建后会直接运行run函数 print"Starting " + self.name print_time(self.name, self.counter, 5) print"Exiting " + self.namedefprint_time(threadName, delay, counter): whilecounter: ifexitFlag: (threading.Thread).exit() time.sleep(delay) print"%s: %s" % (threadName, time.ctime(time.time())) counter -= 1# 创建新线程thread1 = myThread(1, "Thread-1", 1)thread2 = myThread(2, "Thread-2", 2)# 开启线程thread1.start()thread2.start()print"Exiting Main Thread"
以上程序执行结果如下;
StartingThread-1
StartingThread-2
ExitingMainThread
Thread-1:ThuMar2109:10:032013
Thread-1:ThuMar2109:10:042013
Thread-2:ThuMar2109:10:042013
Thread-1:ThuMar2109:10:052013
Thread-1:ThuMar2109:10:062013
Thread-2:ThuMar2109:10:062013
Thread-1:ThuMar2109:10:072013
ExitingThread-1
Thread-2:ThuMar2109:10:082013
Thread-2:ThuMar2109:10:102013
Thread-2:ThuMar2109:10:122013
ExitingThread-2