多執行緒 threading模組2

2022-06-10 13:06:11 字數 1644 閱讀 3445

從上面例子中發現執行緒的建立是頗為麻煩的,每建立乙個執行緒都需要建立乙個 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 這段 就使用了多執行緒,...