线程死锁

墨蓝 2022-06-08 06:30 336阅读 0赞

简述:

  1. 星期一,新的的一周开始,天气晴朗,风和日丽。本是一个非常不错的心情,突然微信头像闪烁,果不其然又爬虫出问题了,可谓是一入爬虫深似海,项目稳定才见鬼。这不,某个神经大条又搭错了,代理ip调度还在轮循这,而代理池不干活了,我就日……,不说脏话。
  2. 首先排除了reids的死翘翘的可能性,就看代理ip模块的调度日志是否能够提供有用的信息,还好哥哥我习惯打印一堆弱智的日志,让脑残儿童都能看明白的提示。万能的重启解决生产问题后,我很快就定位到了问题,一个诡异的现象,调度器还任劳任怨的工作着,可是里面的异步处理则罢工了。我们本能地就能猜测到,线程死锁了。
  3. 程序员的第六感很准,就是死锁。如果你有编程的思想,那么接下来你本能的反应就可能和我一样,去找李彦宏呀。

正题:

线程死锁分为两类:顺序死锁和资源死锁,那么坑中的你属于哪一种呢,那就对号入座吧。记住,你踩进的坑,别人都帮你踩平了,看看别人是怎么找到问题并解决问题的。

  1. 百度一搜,就搜出来http://blog.csdn.net/w1014074794/article/details/51114816 博客,小伙子总结的不错,懒惰的你可以直接搬走了,当然人家已经把问题搞得一清二楚了,你就没必要再浪费自己美丽的青春了。
  2. 解决办法:http://blog.csdn.net/sk199048/article/details/50589980 这里讲了一句本不错的话“死锁的必要条件必须全部满足才会产生死锁,所以要解决死锁问题只需要任意破坏其中一个条件就可以解决死锁问题。”,如果没有猜错,他一定是一个善于总结并能发现问题关键的人,是我迫切学习的Object。

发表评论

表情:
评论列表 (有 0 条评论,336人围观)

还没有评论,来说两句吧...

相关阅读

    相关 线

    线程死锁是多线程中最头疼的问题,一旦进入线程死锁,很多时候只能通过外部进程重启才能解决问题 线程到达死锁的四个条件: 互斥条件:一个资源每次只能被一个线程使用 资源独占条

    相关 线

    一、死锁概念 线程死锁是指由于两个或者多个线程互相持有对方所需要的资源,导致这些线程处于等待状态,无法前往执行。当线程进入对象的synchronized代码块时,便

    相关 线

    简述:          星期一,新的的一周开始,天气晴朗,风和日丽。本是一个非常不错的心情,突然微信头像闪烁,果不其然又爬虫出问题了,可谓是一入爬虫深似海,项目稳定才见鬼。

    相关 线

    虽然同步锁机制解决了线程安全问题,但是也带来一些弊端:     1. 效率会降低,每次都需要判断锁的状态     2. 可能引发死锁(彼此占用所需要的资源),出现的概率非常小,

    相关 线

    先简单用生活列子介绍死锁,          2个人一起吃饭但是只有一双筷子,2人轮流吃(同时拥有2只筷子才能吃)。某一个时候,一个拿了左筷子,一人拿了右筷子,2个人都