Python多线程下载程序假死

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

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

IO方面用gevent hack一下吧,直接patch_all一下,下载东西太大时间太长造成线程不结束,要不就是server没响应了,然后下载的线程无限等待没设置个timeout。。。。
wtbhk
2013-10-04 11:08:14 +08:00
@wodemyworld 业余爱好没有老大= =,两个月也是业余时间。用的urllib2,设置了timeout,取队列也设置了timeout。IO应该不会无限无响应吧,顶多报个错啊,gevent还没听说过我试试。真是实在找不出还有什么地方能够出问题了。。。
wodemyworld
2013-10-04 14:01:05 +08:00
你从c语言学起吧,再一点点接触操作系统接口的东西,纯学python没有前途的,用别人的库也没前途,都是在调用操作系统api,各种封装
wenbinwu
2013-10-04 16:22:29 +08:00
@wodemyworld 哈哈哈,我等着看别人来喷
est
2013-10-04 16:27:32 +08:00
@wtbhk 货物崇拜。谁说ring3就没有技术含量超过ring0的东西?GHC 纯用户层的调度器MIO可以做到C20M,秒杀了操作系统线程那种垃圾调度器。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/84502

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX