您好,登錄后才能下訂單哦!
這篇文章主要介紹了python3爬蟲中怎么使用time記錄多線程時(shí)間,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
# 順序執(zhí)行test1,test2 import time def test1(arg1): print("啟動(dòng)任務(wù)1") print("任務(wù)1的參數(shù)為{}".format(arg1)) time.sleep(5) print("結(jié)束任務(wù)1") def test2(arg2): print("啟動(dòng)任務(wù)2") print("任務(wù)2的參數(shù)為{}".format(arg2)) time.sleep(2) print("結(jié)束任務(wù)2") def main(): start_time = time.time() test1("ONE") test2("TWO") end_time = time.time() total_time = end_time - start_time print("所有任務(wù)結(jié)束,總耗時(shí)為:{}".format(total_time)) if __name__ == "__main__": main()
這里我們順序執(zhí)行兩個(gè)函數(shù),用time.sleep()強(qiáng)制休息幾秒鐘,代替程序執(zhí)行時(shí)間。然后用time.time()記錄總耗時(shí)。
可以看到,順序執(zhí)行時(shí),程序主要耗時(shí)在time.sleep()上,這與我們考慮的是一樣的,打印語句基本不耗時(shí)間。
再來看下使用線程的執(zhí)行時(shí)間。
# 同時(shí)執(zhí)行test1,test2 import time import threading def test1(arg1): print("啟動(dòng)任務(wù)1") print("任務(wù)1的參數(shù)為{}".format(arg1)) time.sleep(5) print("結(jié)束任務(wù)1") def test2(arg2): print("啟動(dòng)任務(wù)2") print("任務(wù)2的參數(shù)為{}".format(arg2)) time.sleep(2) print("結(jié)束任務(wù)2") def main(): start_time = time.time() t1 = threading.Thread(target=test1,args=("ONE",)) t2 = threading.Thread(target=test2,args=("TWO",)) t1.start() t2.start() # 等待兩個(gè)子線程結(jié)束再結(jié)束主線程 t1.join() t2.join() end_time = time.time() total_time = end_time - start_time print("所有任務(wù)結(jié)束,總耗時(shí)為:{}".format(total_time)) if __name__ == "__main__": main()
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享python3爬蟲中怎么使用time記錄多線程時(shí)間內(nèi)容對大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問題就找億速云,詳細(xì)的解決方法等著你來學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。