python多執行緒用法及與單執行緒耗時比較

2021-10-09 18:57:44 字數 2097 閱讀 9920

下面,通過乙個簡單的例子,來把多執行緒和單執行緒執行任務的耗時做個比較

import time

import threading

defmusic

(func, loop)

:for i in

range

(loop)

:print

("i was listening to %s the %d time! %s"

%(func, i+

1, time.time())

) time.sleep(2)

defmovie

(func, loop)

:for i in

range

(loop)

:print

("i was watching %s the %d time! %s"

%(func, i+

1, time.time())

) time.sleep(5)

''''''

# 建立執行緒陣列

threads =

# 建立執行緒t1,並新增到執行緒陣列

t1 = threading.thread(target=music, args=

('十年',2

))# 已經建立好的乙個執行緒

# 追加到執行緒陣列

# 建立執行緒t2,並新增到執行緒陣列

t2 = threading.thread(target=movie, args=

('瘋狂動物城',2

))# args是乙個元組

# 建立執行緒t3,並新增到執行緒陣列

# t3 = threading.thread(target=movie, args=('少林足球', 2))

print

(threads)

if __name__ ==

'__main__'

:print

("多執行緒"

.center(20,

'*')

) start_time = time.time(

)# 啟動執行緒

for t in threads:

t.start(

)# 所有執行緒啟動

for t in threads:

t.join(

)# 守護執行緒

end_time = time.time(

)print

(% start_time)

print

(% end_time)

#最後的結束時間

print

("總共耗時:秒"

.format

(end_time - start_time)

)# 格式輸出耗時

print

('\n'

)print

("單執行緒"

.center(20,

'*')

) start_time = time.time(

) music(

'十年',2

) movie(

'瘋狂動物城',2

)# movie('少林足球', 2)

end_time = time.time(

)print

(% start_time)

print

(% end_time)

# 最後的結束時間

print

("總共耗時:秒"

.format

(end_time - start_time)

)# 格式輸出耗時

多執行緒增加增加:t3執行緒

單執行緒增加:movie(『少林足球』, 2)

結論:多執行緒,增加執行緒後,執行時間基本上沒變,總耗時還是等於耗時最多的執行緒所花費的時間;單執行緒則是線性的增加。另外,多執行緒的啟動時間有極微小差異。

python多執行緒用法及與單執行緒耗時比較

下面,通過乙個簡單的例子,來把多執行緒和單執行緒執行任務的耗時做個比較 import time import threading def music func,loop for i in range loop print i was listening to s the d time s func,...

c單執行緒及多執行緒處理python

參考 include 其他初始化處理 pcrespjson 接收python函式返回值 如果有的話 const char pcrespjson null python 物件初始化 pyobject pstname null pyobject pstmodule null pyobject pstfu...

一 單執行緒與多執行緒

一 多執行緒的例子 公司樓下有一家超市加做 永輝超市 下班了就去裡面買點菜,回去做做自己喜歡的飯菜。如果進去逛一圈,會發現它的收銀台是這樣的 它有好幾個收銀台,每個收銀台有乙個收銀員。付費的時候你可以選擇任意一條 我相信你肯定會選擇人最少的那一條 二 單執行緒的例子 除了這種大中型的超市,下班途中還...