V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
spotfg
V2EX  ›  问与答

请问一下 python3 在单核 cpu 情况下,将网络获取的数据再 post 出去,如何提高速度。

  •  
  •   spotfg · 2019-03-08 11:25:27 +08:00 · 895 次点击
    这是一个创建于 2117 天前的主题,其中的信息可能已经有所发展或是发生改变。

    之前都是直接用 multiprocessing 开多进程,但是现在只是单核。。。 同步执行获取到的数据,再发送出去这个过程,两次网络 IO 挺浪费时间的,大佬们有好的解决方法不?

    4 条回复    2019-03-10 19:33:45 +08:00
    snBDX1b0jJM4ogKd
        1
    snBDX1b0jJM4ogKd  
       2019-03-08 19:23:20 +08:00 via Android
    网络环境下,不用协程也应该多线程,多进程是什么鬼
    yushenglin
        2
    yushenglin  
       2019-03-09 17:32:53 +08:00
    你开个多线程不就好了吗?
    spotfg
        3
    spotfg  
    OP
       2019-03-10 11:22:04 +08:00
    @cs010 因为以前需要把获取的任务,通过任务参数 get 请求得到大量数据分析之后,再 post 请求出去。所以用多进程。现在不需要分析,直接发出去。
    大佬,多线程和网络异步有好的推荐库吗
    snBDX1b0jJM4ogKd
        4
    snBDX1b0jJM4ogKd  
       2019-03-10 19:33:45 +08:00 via Android
    @spotfg 异步 python3 有 aiohttp,或者同步直接开线程池就行了,不过看你使用场景复杂,如果不复杂的话,就自带的库就能胜任,比如 asyncio
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4343 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 05:33 · PVG 13:33 · LAX 21:33 · JFK 00:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.