python多线程技术(三)

我们接着上篇的内容来分享,我们可以基于1/2来构建一个超级播放器的功能。这样看起来可能会更加的有意思,代码量也会更加简洁。

1.创建一个超级播放器:

#创建一个超级播放器
def super_player(file,time):
    for i in range(2):
        print('start playing: %s  %s'%(file,ctime()))
        sleep(time)

2.定义播放文件和时长的字典

#播放的文件和播放时长
list={'大地.mp3':3,'巨齿鲨':4,'真的爱你':5}

3.定义线程组

threads=[]

4.创建线程

#创建线程
for file,time in list.items():
    t = threading.Thread(target=super_player,args=(file,time))
    threads.append(t)

5.启动线程、守护线程

if __name__ == '__main__':
    #启动线程
    for i in range(len(list)):
        threads[i].start()
    for i in range(len(list)):
        threads[i].join()
    #主线程
    print('end: %s'%ctime())

6.输出结果:

C:\Python35\python.exe E:/project/mutil.py

start playing: 大地.mp3  Fri Aug 17 16:12:23 2018
start playing: 真的爱你  Fri Aug 17 16:12:23 2018
start playing: 巨齿鲨  Fri Aug 17 16:12:23 2018
start playing: 大地.mp3  Fri Aug 17 16:12:26 2018
start playing: 巨齿鲨  Fri Aug 17 16:12:27 2018
start playing: 真的爱你  Fri Aug 17 16:12:28 2018
end: Fri Aug 17 16:12:33 2018

Process finished with exit code 0

 

posted @ 2018-08-17 16:16  IT测试老兵  阅读(201)  评论(0)    收藏  举报
作者:测试老兵
出处:https://www.cnblogs.com/fighter007/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。