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

2022-05-04 15:09:12 字數 1513 閱讀 1166

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

import time

import threading

def music(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)

def movie(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("總共耗時:秒".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("總共耗時:秒".format(end_time - start_time)) # 格式輸出耗時

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

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

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

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

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

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

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

一 單執行緒與多執行緒

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