• 异步多线程处理


    import asyncio,time,requests
    
    import threading, time, requests
    url = "http://www.jd.com"
    total = 0
    suc = 0
    fail = 0
    exception = 0
    maxtime=0
    mintime=100
    gt3=0
    lt3=0
    class RequestThread(threading.Thread):
        def __init__(self, thread_name):  
            threading.Thread.__init__(self)  
            self.test_count = 0
        def run(self):
            self.test_performace()
        def test_performace(self):  
                global total
                global suc
                global fail
                global exception
                global gt3
                global lt3
                try:  
                    st = time.time()  
                    conn = requests.get(url)
                    res = conn.status_code
                    if res== 200:
                        total+=1
                        suc+=1
                    else:
                        total+=1
                        fail+=1
                    time_span = time.time()-st  
                    print ('%s:%f
    '%(self.name,time_span)  )
                    self.maxtime(time_span)  
                    self.mintime(time_span)  
                    if time_span>3:
                        gt3+=1
                    else:
                        lt3+=1
                except Exception as e:  
                    print (e  )
                    total+=1
                    exception+=1
        def maxtime(self,ts):  
                global maxtime
                print (ts)
                if ts>maxtime:
                    maxtime=ts
        def mintime(self,ts):  
                global mintime
                if ts<mintime:
                    mintime=ts
    @asyncio.coroutine
    async def hello():
        thread_count = 1000
        i = 0  
        while i <= thread_count:  
            t = RequestThread("线程:" + str(i))
            t.start()  
            i += 1
    start_time=time.time()
    loop=asyncio.get_event_loop()
    loop.run_until_complete(hello())
    loop.close()
    print('异步处理时间:%s'%(time.time()-start_time))
    

      

  • 相关阅读:
    10 vue中 v-model ,计算机demo
    linear-gradient
    flexible.js
    九宫格抽奖原理
    js匿名函数与闭包作用
    HTML5实现九宫格布局
    scrollLeft/scrollTop/scrollHeight
    通过media媒体查询设置ie7/8样式、使用media判断各机型、手淘flexible.js
    右击事件oncontentmenu
    js/jquery判断一个对象是否为空
  • 原文地址:https://www.cnblogs.com/leiziv5/p/7244429.html
Copyright © 2020-2023  润新知