# encoding: utf-8
"""
@author: lileilei
@site:
@software: PyCharm
@file: login.py
@time: 2017/7/26 10:28
"""
import requests,time
from multiprocessing
import Pool
url=
'http://www.jd.com'
total=
0
suc=
0
fail=
0
ecept=
0
maxtime=
0
mintime=
0
gt3=
0
lt3=
0
def baiduGent():
global total
global suc
global fail
global gt3
global lt3
global ecept
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(time_span)
if time_span>3
:
gt3+=1
else:
lt3+=1
except Exception as e:
print(e)
total+=1
ecept+=1
if __name__ ==
'__main__':
print(
'===========请求开始===========')
start_time =
time.time()
pools = Pool(100
)
for i
in range(10
):
pools.apply_async(baiduGent,args=
())
pools.close()
pools.join()
from multiprocessing
import Process,Queue
import os, time, random
def write(q):
print(
'Process to 产生: %s' %
os.getpid())
for value
in [
'苹果',
'香蕉',
'橘子']:
print(
'产生 %s to queue...' %
value)
q.put(value)
time.sleep(random.random())
def read(q):
print(
'Process to 消费: %s' %
os.getpid())
while True:
value =
q.get()
print(
'消费 %s from queue.' %
value)
if __name__==
'__main__':
q =
Queue()
pw = Process(target=write, args=
(q,))
pr = Process(target=read, args=
(q,))
pw.start()
pr.start()
pw.join()
pr.terminate()
m=list(map(
lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9
]))
print(m)
f=list(map(
lambda x:True
if x%3==0
else False,range(100
)))
print(f)
import asyncio
@asyncio.coroutine
async def hello():
print (
'hello word')
r=await asyncio.sleep(1
)
print(
'hello again')
loop=
asyncio.get_event_loop()
loop.run_until_complete(hello())
loop.close()
import threading
import asyncio
@asyncio.coroutine
def hello():
print(
'Hello world! (%s)' %
threading.currentThread())
yield from asyncio.sleep(1
)
print(
'Hello again! (%s)' %
threading.currentThread())
loop =
asyncio.get_event_loop()
tasks =
[hello(), hello()]
loop.run_until_complete(asyncio.wait(tasks))
loop.close()
import asyncio
@asyncio.coroutine
def wget(host):
print(
'wegt %s ....'%
host)
connt=asyncio.open_connection(host,80
)
reder,writer=
yield from connt
hserd=
'GET / HTTP/1.0\r\nHost: %s\r\n\r\n' %
host
writer.write(hserd.encode('utf-8'))
yield from writer.drain()
while 1
:
line=
yield from reder.readline()
if line ==b
'\r\n':
break
print(
'%s header > %s' % (host, line.decode(
'utf-8').rstrip()))
writer.close()
loop=
asyncio.get_event_loop()
tasks=[wget(host)
for host
in [
'www.sina.com.cn',
'www.sohu.com',
'www.163.com']]
loop.run_until_complete(asyncio.wait(tasks))
loop.close()
import asyncio
from aiohttp
import web
async def index(request):
await asyncio.sleep(0.5
)
return web.Response(body=b
'<h1>Index</h1>',content_type=
'text/html')
async def hello(request):
await asyncio.sleep(0.5
)
text =
'<h1>hello, %s!</h1>' % request.match_info[
'name']
return web.Response(body=text.encode(
'utf-8'),content_type=
'text/html')
async def init(loop):
app = web.Application(loop=
loop)
app.router.add_route('GET',
'/', index)
app.router.add_route('GET',
'/hello/{name}', hello)
srv = await loop.create_server(app.make_handler(),
'127.0.0.1', 8000
)
print(
'Server started at http://127.0.0.1:8000...')
return srv
loop =
asyncio.get_event_loop()
loop.run_until_complete(init(loop))
loop.run_forever()
import asyncio,time
@asyncio.coroutine
async def hello():
print (
'hello word')
start_time=
time.time()
loop=
asyncio.get_event_loop()
tasks=
[]
for i
in range(10000
):
tasks.append(hello())
loop.run_until_complete(asyncio.wait(tasks))
loop.close()
print(
'异步处理时间:%s'%(time.time()-
start_time))
import time,gevent
def print_s(num):
st=
time.time()
conn=requests.get(
'http://www.jd.com')
res=
conn.status_code
if res==200
:
print(
'chenggong')
else:
print(
'shibai')
start_time=
time.time()
events=[gevent.spawn(print_s,num)
for num
in range(10000
)]
gevent.joinall(events)
print(
'协程时间:%s'%(time.time()-start_time))
转载于:https://www.cnblogs.com/leiziv5/p/7244435.html