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

2020-09-28 0 608

如果想同时执行两个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多线程实现同时执行两个while循环的操作

补充知识: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 python多线程实现同时执行两个while循环的操作 http://www.ox520.com/25467.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务