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

      

  • 相关阅读:
    PHP安装linux
    nginx 安装
    Redis安装
    linux启动http服务
    收藏的有用的网页
    laravel框架部署后有用命令
    .net 报错access to the path c: empimagefilesmsc_cntr_0.txt is denied
    oracle 触发器
    学习Auxre记录
    mysql数据库索引
  • 原文地址:https://www.cnblogs.com/leiziv5/p/7244429.html
Copyright © 2011-2022 走看看