python多线程实现同时执行两个while循环

如果想同时执行两个while True循环,可以使用多线程threading来实现。

完整代码

#coding=gbk
from time import sleep, ctime 
import threading

def muisc(func):
    while True:
        print 'Start playing: %s! %s' %(func,ctime())
        sleep(2)
 
def move(func):
    while True:
        print 'Start playing: %s! %s' %(func,ctime())
        sleep(5)

def player(name):
    r = name.split('.')[1]
    if r == 'mp3':
        muisc(name)
    else:
        if r == 'mp4':
            move(name)
        else:
            print 'error: The format is not recognized!'

list = ['爱情买卖.mp3','阿凡达.mp4']

threads = []
files = range(len(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 'end:%s' %ctime()

效果:

image

参考:http://www.cnblogs.com/fnng/p/3691053.html

posted @ 2016-11-30 11:46  zoro_robin  Views(13118)  Comments(0Edit  收藏  举报