• 一个简单的python多协程实例


    import xlrd,threading, requests,threading,json,time,math
    import numpy as np
    import gevent
    from queue import Queue
    products = Queue()
    result = Queue()
    def excel():
        wb = xlrd.open_workbook(r'E:/python/xt_user.xlsx')
        sheet = wb.sheet_by_name('xt_user')
        for a in range(sheet.nrows):
            cells = sheet.row_values(a)
            products.put(cells)  
    def consumer():
        while not products.empty():
                obj = products.get()
                res = thread_test(obj)
                print(res)
                result.put(res)
    def thread_test(object):
         url = ''
         r = requests.post(url, data=json.dumps({}), headers={'Content-Type':'application/json'})
         #print(r.json())
         return r.json()
    excel()
    g1 = gevent.spawn(consumer)




    g2 = gevent.spawn(consumer)
    g3 = gevent.spawn(consumer)
    g1.join()
    g2.join()
    g3.join()
    g4 = gevent.spawn(consumer)
    g5 = gevent.spawn(consumer)
    g6 = gevent.spawn(consumer)
    g4.join()
    g5.join()
    g6.join()
    time.sleep(10)
    success = 0
    fail = 0
    while not result.empty():
                obj = result.get()
                if obj['status'] == 200 :
                    print(obj)
                    success += 1
                else: 
                    print('请求失败')
                    fail += 1    
    print('成功个数:', success)
    print('失败个数:', fail)




  • 相关阅读:
    计算2*3+(2*(5+6)*3)/2+4*6的值
    单链表 删除倒数第m个元素的实现
    string.data()和string.c_str()
    c++ 打印时间
    二分查找
    两个整数相除的计算
    查看一个数字是不是回环数(对称)
    编译#include <stdio.h> 等用尖括号指定的文件提示找不到 VS googleTest 安装的makeInstall
    八皇后---递归
    分治算法--求m的n次方
  • 原文地址:https://www.cnblogs.com/huangguojin/p/13225193.html
Copyright © 2020-2023  润新知