python多線程實(shí)現(xiàn)同時(shí)執(zhí)行兩個(gè)while循環(huán)的操作
如果想同時(shí)執(zhí)行兩個(gè)while True循環(huán),可以使用多線程threading來(lái)實(shí)現(xiàn)。
完整代碼
#coding=gbkfrom time import sleep, ctime import threadingdef 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 = [’愛(ài)情買(mǎi)賣(mài).mp3’,’阿凡達(dá).mp4’]threads = []files = range(len(list))#創(chuàng)建線程for i in files: t = threading.Thread(target=player,args=(list[i],)) threads.append(t)if __name__ == ’__main__’: #啟動(dòng)線程 for i in files: threads[i].start() for i in files: threads[i].join() #主線程 print ’end:%s’ %ctime()
效果:
補(bǔ)充知識(shí):python 如何在一個(gè)for循環(huán)中遍歷兩個(gè)列表
利用python自帶的zip函數(shù)可同時(shí)對(duì)兩個(gè)列表進(jìn)行遍歷,代碼如下:
>>> list1 = [’a’, ’b’, ’c’, ’d’]>>> list2 = [’apple’, ’boy’, ’cat’, ’dog’]>>> for x, y in zip(list1, list2): print(x, ’is’, y)# 輸出a is appleb is boyc is catd is dog
以上這篇python多線程實(shí)現(xiàn)同時(shí)執(zhí)行兩個(gè)while循環(huán)的操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 使用Spry輕松將XML數(shù)據(jù)顯示到HTML頁(yè)的方法2. 輕松學(xué)習(xí)XML教程3. ASP中解決“對(duì)象關(guān)閉時(shí),不允許操作?!钡脑幃悊?wèn)題……4. ASP使用MySQL數(shù)據(jù)庫(kù)的方法5. msxml3.dll 錯(cuò)誤 800c0019 系統(tǒng)錯(cuò)誤:-2146697191解決方法6. ASP動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù)經(jīng)驗(yàn)分享7. 得到XML文檔大小的方法8. html小技巧之td,div標(biāo)簽里內(nèi)容不換行9. WMLScript的語(yǔ)法基礎(chǔ)10. ASP中if語(yǔ)句、select 、while循環(huán)的使用方法
