亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 Python 中發送多個線程?

如何在 Python 中發送多個線程?

海綿寶寶撒 2022-04-27 13:07:05
從輸入發布數據時,我希望能夠接收內容列表。輸入在一個文本文件中,該文件將在 python 中打開。為了加快進程,我想增加一次可以發送的線程數。我怎么能做到這一點,這是我在說什么的粗略想法:import requestsuserdata = open("data.txt", "r")usercodes = [x.strip() for x in userdata]for i in range(len(usercodes)):    thread_one = requests.post(url='https://test.com/input', params=usercodes[i])    thread_two = requests.post(url='https://test.com/input', params=usercodes[i+1])    thread_three = requests.post(url='https://test.com/input', params=usercodes[i+2])我希望所有線程同時運行,在這里程序將一個接一個地執行請求。
查看完整描述

3 回答

?
躍然一笑

TA貢獻1826條經驗 獲得超6個贊

import requests

from multiprocessing import Pool


def make_request(usercode):

    requests.post(url='https://test.com/input', params=usercode)


if __name__ == '__main__':

    userdata = open("data.txt", "r")

    usercodes = [x.strip() for x in userdata]


    with Pool(multiprocessing.cpu_count()) as p:

        print(p.map(make_request, usercodes))


    p.close()


查看完整回答
反對 回復 2022-04-27
?
臨摹微笑

TA貢獻1982條經驗 獲得超2個贊

與concurrent.futures.ThreadPoolExecutor:


from concurrent.futures import ThreadPoolExecutor

from functools import partial

import requests


userdata = open("data.txt", "r")

usercodes = (x.strip() for x in userdata)  # keep as generator


with ThreadPoolExecutor() as pool:

    pool.map(partial(requests.post, 'https://test.com/input'), usercodes)

    userdata.close()   # closing the input file


查看完整回答
反對 回復 2022-04-27
?
肥皂起泡泡

TA貢獻1829條經驗 獲得超6個贊

Async 絕對是你的朋友。


from gevent import joinall, spawn, monkey

gevent.monkey.patch_all()

import requests


userdata = open("data.txt", "r")

usercodes = [x.strip() for x in userdata]


send_url = 'https://test.com/input'

threads = []


def send(usercode):

   requests.post(url=send_url, params=usercode)


for code in usercodes:

    threads.append(spawn(send, code))


joinall(threads)


查看完整回答
反對 回復 2022-04-27
  • 3 回答
  • 0 關注
  • 144 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號