gevent實現高併發

2022-01-31 14:14:38 字數 592 閱讀 6500

gevent是python的協程模組,協程可以理解成更輕量化的執行緒。因為效能測試工具的一些限制,就自己萌發了自己寫效能測試工具的念想,當然,寫的比較簡單,比如缺少效能指標的收集,慢慢的優化 出來,這個只是為了拿出來練練手

import gevent

import requests

import time

def get_res(url):

res = requests.get(url)

print(res.content.decode('utf-8'))

if __name__ == '__main__':

g_lista =

start_time=time.time()

for i in range(500):

g = gevent.spawn(get_res, '')

print(i, flush=true)

print(len(g_lista))

[a.join() for a in g_lista]

end_time = time.time() - start_time

print(end_time)

python(33) 高併發 協程 Gevent

協程 實現單執行緒下的高併發。例如web高併發伺服器,nginx,nodejs,其實都是單執行緒,而如何實現上萬的高併發呢,用的就是協程。個人理解,協程快就是無論你啟動了幾個函式,整個程式的執行時長 最長的那個函式時長 整個程式,無論你啟動幾個函式,執行花費 只用了函式中最長的那個時間 2s 2.執...

python(33) 高併發 協程 Gevent

協程 實現單執行緒下的高併發。例如web高併發伺服器,nginx,nodejs,其實都是單執行緒,而如何實現上萬的高併發呢,用的就是協程。個人理解,協程快就是無論你啟動了幾個函式,整個程式的執行時長 最長的那個函式時長 整個程式,無論你啟動幾個函式,執行花費 只用了函式中最長的那個時間 2s 2.執...

高併發快取實現

private static concurrenthashmap gloddeptfutumap new concurrenthashmap future 介面允許表示已經完成的任務 正在執行過程中的任務或者尚未開始執行的任務。futuretask 類實現了 future,幷包含一些建構函式,允許將...