不理解單執行緒 與 多執行緒?敲幾遍就好了
from threading import thread
import threading
import requests
import time
#請求任務
def request_task(url):
requests.get(url,headers=headers)
time.sleep(0.5)
#獲取執行緒名
thread_name = threading.current_thread().name
print(thread_name,'get',url)
#單執行緒
def singal_thread():
# 時間戳,距離2023年多少秒
start = time.time()
url = ''
# 傳送10個請求
for i in range(10):
request_task(url=url.format(i)) #呼叫
print('單執行緒耗時',time.time() - start)
#多執行緒
def multi_thread():
# 加入時間戳
start = time.time()
url = ''
#執行緒池
thread_pool =
for i in range(10):
t = thread(target=request_task,args=(url.format(i),))
# 開啟執行緒任務
for i in thread_pool:
i.start()
#阻塞執行緒(等待執行緒執行完畢才執行列印語句)
for i in thread_pool:
i.join()
print('多執行緒耗時', time.time() - start)
if __name__ == '__main__':
# 測試單執行緒與多執行緒的速度
# singal_thread()
multi_thread()
from multiprocessing import process
import os
def process_task(name):
#程序id
#獲取程序號
pid = os.getpid()
#主程序
ppid = os.getppid()
print("start",name,'當前程序id',pid,'主程序id',ppid)
if __name__ == '__main__':
# 建立子程序,args引數傳遞列表為元組
# 注意:當元組中只有乙個資料時,需要加逗號,否則為其他資料型別
p1 = process(target=process_task,args=('afan',))
# 開始程序
p1.start()
p2 = process(target=process_task,args=('afan2',))
p2.start()
import os
from multiprocessing import pool
def fun(n):
print(os.getpid())
return n*n
if __name__ == '__main__':
#使用pool建立10個程序,過多的程序會導致系統崩潰
pool = pool(processes=10)
list = [1,2,3,4,5,6,7,8,9,10]
#系統提供執行程序池的方式
pool.map(fun,list)
總結:一般我們使用多執行緒較多,速度快,多程序的使用了解下就好。 最難解的是奧數,最難懂的是人心
qq個性簽名 最難解的是奧數,最難懂的是人心 正如青春的我們,永遠不知道下一刻等待我們的是什麼,朋友跟我說,你心碎了一地,我心散了一地,難道這是個失戀的季節?可是你還能失戀,我呢,我卻戀都無法戀,青春,乙個迷惘彷徨又讓我們無限感傷的年華。當我在無數個失眠的夜晚哄睡了無數個失眠患者的時候。我往往會忘記...
面試中最難回答的問題
1.介紹你自己 這個問題通常是乙個面試的開始的第乙個問題,要額外的小心不要滔滔不絕。盡可能的讓你的回答在一分鐘,最多2分鐘的時間內結束。你的回答應該包含以下4個,主題 早期生活,教育背景,工作背景以及最近的工作經驗。要著重強調最後的那個主題。要牢記這個問題通常是乙個熱身的問題,不要把你的最重要的觀點...
jzoj 1001 最難的問題
description 這是乙個很難的問題,你要找出 12345678987654321!答案裡一共含有多少個 0 表示階乘的意思。其實,我是在開玩笑的,地球上沒有人真正能成功的解決這個問題。實際上,我是乙個間諜,我從敵人手中偷取了一些很重要的秘密,我只想以盡量少的時間離開敵人的基地。敵人的基地地圖...