首页 > 代码库 > 异步多线程处理
异步多线程处理
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\n‘%(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))
异步多线程处理
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。