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()

效果:

补充知识:python 如何在一个for循环中遍历两个列表

利用python自带的zip函数可同时对两个列表进行遍历,代码如下:

>>> list1 = ['a', 'b', 'c', 'd']

>>> list2 = ['apple', 'boy', 'cat', 'dog']

>>> for x, y in zip(list1, list2):

  print(x, 'is', y)

# 输出

a is apple

b is boy

c is cat

d is dog

以上这篇python多线程实现同时执行两个while循环的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

以上是 python多线程实现同时执行两个while循环的操作 的全部内容, 来源链接: utcz.com/z/352845.html

回到顶部