zoukankan      html  css  js  c++  java
  • 异步多线程处理

    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))
    

      

  • 相关阅读:
    matlab软件-了解
    C# 自定义异常demo
    C#二进制对象copy
    asp.net 缓存依赖demo
    权限管理细粒度问题
    三层架构中的异常处理二
    如何解决复杂问题——结构化思维方式
    入职新公司如何熟悉项目
    专业工具使用与复杂大型项目设计管理
    十分钟学会 tmux
  • 原文地址:https://www.cnblogs.com/leiziv5/p/7244429.html
Copyright © 2011-2022 走看看