以前在网上查了很简单的多线程的例子,本来想让主线程等到子线程结束后再结束主线程。

使用join()方法,正确的程序应该是这样的:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import threading
import time

class myThread (threading.Thread):   #继承父类threading.Thread
    def __init__(self,counter):
        threading.Thread.__init__(self)
        self.counter = counter
    def run(self):                   #把要执行的代码写到run函数里面 线程在创建后会直接运行run函数 
        print "Starting " + self.getName()
        if self.counter==3: #当等于3的时候,输入比较耗时
            for i in range(1,50):
                print i
        print "Exiting " + self.name

# 创建新线程
t_all=[]
for i in range(1,6):
    t=myThread(i)
    t.setName("Thread-"+str(i))
    t_all.append(t)
    t.start()
for i in t_all:
    i.join()      #在这里加join()方法
print "Exiting Main Thread"








Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐