注意是python 2.7, (multiprocessing值支持到2.6,2.7下安装会报错)

用threadpool试了一下,总是报错:

单次并发的函数

data = ['a', 'b', 'c']

#data传到threadpool.makeRequests里面的第二个参数,函数会将这个列表里面的值取出来,然后根据并发数进行并发。

def repost(data):

response = requests.post(url, data).text

return response

结果处理函数,只是打印出来

def postresult(requestself, responseresult):

print(responseresult)

#其他的处理,比如对结果插入到数据库,或者写入日志等,可以在这里写

pool = threadpool.ThreadPool(5)

requests = threadpool.makeRequests(repost, data, postresult)

**#之前出问题,是因为这里requests的名称定义和requests()方法冲突了。。。然后报错又很奇怪,没引起注意,把这里的requests改个名字就OK了。各位,承让了。

当然,下面这一样,也改一下。requests的名称。

[pool.putRequest(req) for req in requests]

pool.wait()

报错如下:

Traceback (most recent call last):

File "C:\User\AppData\Local\Programs\Python\Python35-32\lib\site-packages\threadpool.py", line 158, in run

result = request.callable(*request.args, **request.kwds)

File "C:\test.py", line 29, in repost

response = requests.post(url, data1).text

AttributeError: 'list' object has no attribute 'post'

或者有没有其他实现方法?

我靠,我靠,我靠靠靠。。。。问题解决了。看上面的备注。再见。

先把test.py全贴上来,看错误提示你应该是覆盖了request变量,导致request变成了list类型。

建议,不要使用ThreadPool实现多并发,基于Python的特性,即使你使用多线程,也只能同时运行一条指令而已,多线程性能提升有限。

你首先应该使网络异步,然后实现基本的ioloop,也可以基于asyncio或tornado 实现单线程多并发

2.7没有asyncio,你可以用gevent之类的,还有几十2.7应该是有multiprocessing的,只是你这种是io密集型的,用多进程会适得其反, 用第三方库实现协程吧

python实现并发http_python 2.7 如何实现http post多并发?相关推荐

  1. python软件和rost软件哪个更好_Python几种并发实现方案的性能比较

    偶然看到Erlang vs. Stackless python: a first benchmark,对Erlang和Stackless Python的并发处理性能进行了实验比较,基本结论认为二者有比 ...

  2. 到底多大并发才算高并发?一文带你全面认识高并发!

    点击上方蓝色小字,关注"涛哥聊Python" 重磅干货,第一时间送达 作者 | 骆俊武 来源 | IT人的职场进阶 高并发,几乎是每个程序员都想拥有的经验.原因很简单:随着流量变大 ...

  3. 测试并发应用(七)配置Eclipse来调试并发代码

    声明:本文是< Java 7 Concurrency Cookbook >的第八章, 作者: Javier Fernández González 译者:郑玉婷 校对:方腾飞 配置Eclip ...

  4. 《C++并发编程实战》——1.1 什么是并发

    本节书摘来自异步社区出版社<C++并发编程实战>一书中的第1章,第1.1节,作者:[美] Anthony Williams (威廉姆斯),更多章节内容可以访问云栖社区"异步社区& ...

  5. 5000并发_彻底理解 jmeter 的线程数与并发数之间的关系

    概述 在jmeter中,只要提到并发,99%的同学立马想到线程组.需要多少并发就启动多少线程组,这已经成了大部分人的共识.这种理解方式很明显是把并发数和线程数的概念混淆了.线程组中不光有线程数,也有循 ...

  6. 《Java并发编程的艺术》读后笔记-Java中的并发工具类(第八章)

    文章目录 <Java并发编程的艺术>读后笔记-Java中的并发工具类(第八章) 1.等待多线程完成的CountDownLatch 2.同步屏障CyclicBarrier 2.1 Cycli ...

  7. 用分布式锁来防止库存超卖,但是是每秒上千订单的高并发场景,如何对分布式锁进行高并发优化来应对这个场景?

    用分布式锁来防止库存超卖,但是是每秒上千订单的高并发场景,如何对分布式锁进行高并发优化来应对这个场景? 转载 codeing_doc 最后发布于2018-11-23 09:44:41 阅读数 1073 ...

  8. python gevent模块 下载_Python中的多任务,并行,并发,多线程,多进程,协程区别...

    多任务 CPU承担了所有的计算任务.一个CPU在一个时间切片里只能运行一个程序.当我们想同时运行多于一个程序的时候,就是多任务,例如同时运行微信,QQ,浏览器等等.多任务的目的是提升程序的执行效率,更 ...

  9. python断点续传下载_Python 3 爬虫|第12章:并发下载大文件 支持断点续传

    1. stream 流式下载大文件 1.1 stream=True 和 iter_content() 我们将继续使用 Python 3 爬虫|第3章:同步阻塞下载 所搭建的测试环境,在 Nginx 默 ...

最新文章

  1. linux c语言 glibc 错误 munmap,Linux内存分配小结--malloc、brk、mmap
  2. Cookie或将被替换!Chrome工程师提议新型HTTP状态管理协议
  3. c++类模板(c++细节篇十一)
  4. 领域模型命名规约【PO,VO,POJO,BO,DTO,DO,JavaBean】
  5. 代码拾取图片某一点的颜色_RPG游戏开发日志7:道具拾取与存放
  6. (只需挨个复制粘贴命令即可部署)在Centos7下搭建文件服务器(VSFTPD)
  7. 天池 在线编程 能否转换
  8. android组件间共享数据的常用方法
  9. 第三十一章 考试作弊
  10. 区间dp讲解之石子合并问题 区间dp的分析方法
  11. javax.mail.MessagingException: Unknown SMTP host: smtp.163.com;
  12. 希腊字母含义及快捷键输入
  13. 三大运营商URL欺骗;手机免费上网,测试,教程,服务器
  14. 不要告诉我你懂margin
  15. hyper-v开虚机
  16. React中CSS样式
  17. 优酷播放黑科技 | 自由视角技术的全链路策略与落地实践
  18. 锘崴科技 王爽教授:安全联邦学习、隐私计算领域的开拓者
  19. 阿里测试7年经验,从功能测试到自动化测试,我整理的超全学习指南
  20. 地址栏中的#能不能去掉?

热门文章

  1. 5种云计算安全基础知识和最佳实践
  2. 从SD-WAN向SD-Branch过渡需要多久?—Vecloud
  3. Postgresql中文排序
  4. springboot与分布式(zookeeper+dubbo)
  5. 回文串 --- 动态dp UVA 11584
  6. ASP.NET Core macOS 环境配置 - ASP.NET Core 基础教程 - 简单教程,简单编程
  7. 为什么经常遇到无效证书?
  8. angularjs loading, animate
  9. (原创)发布一个C++版本的ORM库SmartDB(一)
  10. ifconfig 命令介绍