python中的多线程

来源:互联网 发布:手游存档软件 编辑:程序博客网 时间:2024/06/10 01:19

示例1:

#coding=utf-8import threadingfrom time import sleep,ctimedef music(func):    for i in range(2):        print "I was listenning to %s.%s" %(func,ctime())        sleep(1)def movie(func):    for i in range(2):        print "I was watching %s . %s" %(func,ctime())        sleep(1)threads = []  #创建threads 数组t1 = threading.Thread(target=music,args=(u'music',))threads.append(t1) #将t1放到threads数组中t2 = threading.Thread(target=movie,args=(u'TV',))threads.append(t2)if __name__=='__main__':    for t in threads:        t.setDaemon(True) #声明为守护线程,如果不设置则会被无限挂起        t.start()    t.join() #在子线程完成运行之前,这个子线程的父线程将一直被阻塞    print "all over %s " %ctime()

示例2:

#coding=utf-8import threadingfrom time import sleep,ctimedef music(func):    for i in range(2):        print "I was listenning to %s.%s" %(func,ctime())        sleep(1)def movie(func):    for i in range(2):        print "I was watching %s . %s" %(func,ctime())        sleep(1)def player(name):    type=name.split('.')[1]    print type    if type == 'mp3':       music(name)    else:        if type == 'mp4':            movie(name)        else:            print 'error: The format is not recognized!'#定义一个listlist = ['music.mp3','TV.mp4']threads = []  #创建threads 数组files = range(len(list))  #获取list的长度,随机#创建线程for i in files:    t = threading.Thread(target=player,args=(list[i],))    threads.append(t)if __name__=='__main__':    #启动线程    for i in files:        threads[i].start()    for i in files:        threads[i].join()    print "all over %s " %ctime()        


0 0
原创粉丝点击