多线程-threading模块3
超级播放器
#coding:utf-8 import threading from time import sleep,ctime #超级播放器 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':2} #创建线程数组 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('all end: %s' %ctime())
首先创建字典 list ,用于定义要播放的文件及时长(秒),通过字典的 items()方法来循环的取 file
和 time,取到的这两个值用于创建线程。
接着创建 super_player()函数,用于接收 file 和 time,用于确定要播放的文件及时长。
最后是线程启动运行。运行结果:
Start playing: 爱情买卖.mp3! Thu Oct 18 10:06:57 2018 Start playing: 阿凡达.mp4! Thu Oct 18 10:06:57 2018 Start playing: 我和你.mp3! Thu Oct 18 10:06:57 2018 Start playing: 我和你.mp3! Thu Oct 18 10:06:59 2018 Start playing: 爱情买卖.mp3! Thu Oct 18 10:07:00 2018 Start playing: 阿凡达.mp4! Thu Oct 18 10:07:02 2018 all end: Thu Oct 18 10:07:07 2018