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

Python多线程下载程序假死

  •  
  •   wtbhk · 2013-10-04 09:18:36 +08:00 · 4824 次点击
    这是一个创建于 3869 天前的主题,其中的信息可能已经有所发展或是发生改变。
    一般发生在下载半个小时以后,假死后PyDev里面无法对线程Suspend(正常时候是可以的)。
    PyDev是我不会用还是怎么,不知道该怎么调试。所以大家有没有什么分析工具方法教程或者遇到过类似问题的~
    (另外能够帮看代码的话不甚感激https://github.com/wtbhk/DDD)
    7 条回复    1970-01-01 08:00:00 +08:00
    wodemyworld
        1
    wodemyworld  
       2013-10-04 10:09:45 +08:00
    用pdb调试

    ps:大部分问题都体现在懒上
    wtbhk
        2
    wtbhk  
    OP
       2013-10-04 10:34:22 +08:00
    @wodemyworld 我是8月2日遇到这个问题的,解决了两个月没办法估计是比较笨,懒的话应该不是吧。然后我也只是来问问大家用的工具方法和教程。至于用pdb调试多线程我不多说你试试就知道。
    wodemyworld
        3
    wodemyworld  
       2013-10-04 10:59:59 +08:00   ❤️ 1
    就没人带你么。。。。这点儿事忙两个月没解决你们老大都没意见?那也太奇葩了。。。。。

    IO方面用gevent hack一下吧,直接patch_all一下,下载东西太大时间太长造成线程不结束,要不就是server没响应了,然后下载的线程无限等待没设置个timeout。。。。
    wtbhk
        4
    wtbhk  
    OP
       2013-10-04 11:08:14 +08:00
    @wodemyworld 业余爱好没有老大= =,两个月也是业余时间。用的urllib2,设置了timeout,取队列也设置了timeout。IO应该不会无限无响应吧,顶多报个错啊,gevent还没听说过我试试。真是实在找不出还有什么地方能够出问题了。。。
    wodemyworld
        5
    wodemyworld  
       2013-10-04 14:01:05 +08:00
    你从c语言学起吧,再一点点接触操作系统接口的东西,纯学python没有前途的,用别人的库也没前途,都是在调用操作系统api,各种封装
    wenbinwu
        6
    wenbinwu  
       2013-10-04 16:22:29 +08:00
    @wodemyworld 哈哈哈,我等着看别人来喷
    est
        7
    est  
       2013-10-04 16:27:32 +08:00
    @wtbhk 货物崇拜。谁说ring3就没有技术含量超过ring0的东西?GHC 纯用户层的调度器MIO可以做到C20M,秒杀了操作系统线程那种垃圾调度器。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5762 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 08:00 · PVG 16:00 · LAX 01:00 · JFK 04:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.