python 多執行緒Threading
阿新 • • 發佈:2021-02-15
技術標籤:python
多執行緒請求百度10次
網址:http://www.baidu.com
程式碼如下:
from get_html import download
import time
import threading
url = 'http://www.baidu.com'
#普通請求
def test_1():
start = time.perf_counter()
for i in range(10):
html = download(url=url)
print('程式用時',time.perf_counter()-start)
#多執行緒
def test_2():
start = time.perf_counter()
tlist = list()
for i in range(10):
t = threading.Thread(target=download,args=(url,))#args=(url,)傳入的是一個元組
tlist.append(t)
#列表推導式tlist = [threading.Thread(target=download,args=(url,)) for i in range(10)]
[t.start() for t in tlist] #多執行緒程的執行 無序執行,只需要最後結果
[t.join() for t in tlist] #等到執行緒執行完之後 再回到主執行緒中去
print('程式用時', time.perf_counter() - start)
test_1()
test_2()
最後用時:
還是快很多的!學習筆記歡迎交流!