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

(编辑:jimmy 日期: 2024/11/12 浏览:2)

如果想同时执行两个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循环的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?