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

Posted zoro_robin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于python多线程实现同时执行两个while循环的主要内容,如果未能解决你的问题,请参考以下文章

python:使用多线程同时执行多个函数

如何多线程(多进程)加速while循环(语言-python)?

C#多线程实现循环。界面会假死怎么办?

python循环怎么用多线程去运行

java 一个线程处理多个任务

如何有条件地同时多线程和更新变量?