wtbhk
V2EX  ›  问与答

Python多线程下载程序假死

  •  
  •   wtbhk · Oct 4, 2013 · 5264 views
    This topic created in 4605 days ago, the information mentioned may be changed or developed.
    一般发生在下载半个小时以后,假死后PyDev里面无法对线程Suspend(正常时候是可以的)。
    PyDev是我不会用还是怎么,不知道该怎么调试。所以大家有没有什么分析工具方法教程或者遇到过类似问题的~
    (另外能够帮看代码的话不甚感激https://github.com/wtbhk/DDD)
    7 replies    1970-01-01 08:00:00 +08:00
    wodemyworld
        1
    wodemyworld  
       Oct 4, 2013
    用pdb调试

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

    IO方面用gevent hack一下吧,直接patch_all一下,下载东西太大时间太长造成线程不结束,要不就是server没响应了,然后下载的线程无限等待没设置个timeout。。。。
    wtbhk
        4
    wtbhk  
    OP
       Oct 4, 2013
    @wodemyworld 业余爱好没有老大= =,两个月也是业余时间。用的urllib2,设置了timeout,取队列也设置了timeout。IO应该不会无限无响应吧,顶多报个错啊,gevent还没听说过我试试。真是实在找不出还有什么地方能够出问题了。。。
    wodemyworld
        5
    wodemyworld  
       Oct 4, 2013
    你从c语言学起吧,再一点点接触操作系统接口的东西,纯学python没有前途的,用别人的库也没前途,都是在调用操作系统api,各种封装
    wenbinwu
        6
    wenbinwu  
       Oct 4, 2013
    @wodemyworld 哈哈哈,我等着看别人来喷
    est
        7
    est  
       Oct 4, 2013
    @wtbhk 货物崇拜。谁说ring3就没有技术含量超过ring0的东西?GHC 纯用户层的调度器MIO可以做到C20M,秒杀了操作系统线程那种垃圾调度器。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3840 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 10:25 · PVG 18:25 · LAX 03:25 · JFK 06:25
    ♥ Do have faith in what you're doing.