threading多线程
threading.thread的初始化函数原型:
def __init__(self, group=None, target=None, name=None, args=(), kwargs={})
:参数group是预留的,用于将来扩展;
:参数target是一个可调用对象(也称为活动[activity]),在线程启动后执行;
:参数name是线程“Thread-N”,N是一个数字。
:参数args和kwargs分别表示调用target时的参数列表和关键字参数。
threading.join([timeout]):
调用Thread.join将会使主调线程堵塞,直到被调用线程运行结束或超时。参数timeout是一个数值类型,表示超时时间,如果未提供该参数,那么主调线程将一直堵塞到被调线程结束。
EX:
#coding=utf-8
from time import sleep, ctime
import threading
def super_player(file,time):
for i in range(2):
print 'Start playing: %s! %s' %(file,ctime())
sleep(time)
#播放的文件与播放时长
list = {'爱情买卖.mp3':3,'阿凡达.mp4':5,'我和你.mp3':4}
threads = []
files = range(len(list))
#创建线程
for file,time in list.items():
t = threading.Thread(target=super_player,args=(file,time))
threads.append(t)
if __name__ == '__main__':
#启动线程
for i in files:
threads[i].start()
for i in files:
threads[i].join()
#主线程
print 'end:%s' %ctime()
浙公网安备 33010602011771号