從上面例子中發現執行緒的建立是頗為麻煩的,每建立乙個執行緒都需要建立乙個 t(t1、t2、...),如果建立的執行緒較多時這樣極其不方便。下面對通過例子進行改進:
#coding:utf-8
import
threading
from time import
sleep,ctime
#def
music(func):
for i in range(2):
print('
start playing: %s! %s
' %(func,ctime()))
sleep(2)
#def
move(func):
for i in range(2):
print('
start playing: %s! %s
' %(func, ctime()))
sleep(5)
#判斷檔案型別,並交給相應的函式執行
defplayer(name):
r = name.split('
.')[1]
if r == '
***'
: music(name)
elif r == '
mp4'
: move(name)
else
:
print('
error: the format is not recognized!')
list = ['
愛情買賣.***
','阿凡達.mp4']
#建立執行緒陣列
threads =
files =range(len(list))
for i in
files:
t = threading.thread(target=player,args=(list[i],))
if__name__ == "
__main__":
#啟動執行緒
for i in
files:
threads[i].start()
#守護執行緒
for i in
files:
threads[i].join()
print('
all end: %s
' %ctime())
執行結果:
start playing: 愛情買賣.***! thu oct 18 09:53:33 2018start playing: 阿凡達.mp4! thu oct 18 09:53:33 2018start playing: 愛情買賣.***! thu oct 18 09:53:35 2018start playing: 阿凡達.mp4! thu oct 18 09:53:38 2018all end: thu oct 18 09:53:43 2018
然後,我們建立了乙個 list 的檔案列表,注意為檔案加上字尾名。然後我們用 len(list) 來計算 list 列表有多少個檔案,這是為了幫助我們確定迴圈次數。
接著我們通過乙個 for 迴圈,把 list 中的檔案新增到執行緒中陣列 threads中。接著啟動 threads 執行緒組,最後列印結束時間。
多執行緒threading模組
threading模組是python中專門提供用來做多執行緒的模組。threading中最常用的類是thread。檢視執行緒數量函式 threading.enumerate 檢視執行緒當前名字函式 threading.current thread 以下看乙個簡單的多執行緒程式 encoding ut...
threading多執行緒模組
作業系統 承上啟下作用,起到硬體與應用程式之間的連線作用 或者介面作用 程序 本質上是一段程式執行的過程,是乙個抽象的概念。程序的目的就是切換,也就是程式a與程式b矛盾時,可以切換執行,提高cpu的效率。程序包括三部分 程式,資料集,程式控制塊三個部分。程式是乙個實體,程序是乙個抽象。資料集相當於輸...
python多執行緒模組 threading使用方法
先來看這段 import threading import time def worker print worker time.sleep 1 return for i in xrange 5 t threading.thread target worker t.start 這段 就使用了多執行緒,...