在我的应用程序中发生异常时使用thread.sleep
如果在任何一个线程中发生任何异常,它应该等待一段时间并且必须再试一次
我面临的问题意味着100个请求,如果50个意外发生,应该等待一段时间,然后再试一次,如果有的话 异常发生意味着它也应该等到成功
我觉得这会影响性能和系统使用。
请告诉我你的建议。如果发生任何异常,创建新线程会更好吗? 或者其他任何方式?
答案 0 :(得分:2)
重试异常并不是一个坏主意,但你应该确保:
规则2的例外是可能的(有时你确实希望东西永远重试)。
答案 1 :(得分:1)
从这个问题来看,我明白,你在谈论RunTimeExceptions
。
1)首先我想建议一下,你应该检查在运行时可能真正抛出异常的代码区域,即处理文件。
2)另一件事是你必须处理这种情况,以便减少异常情况。即第一个检查文件可用,然后只尝试读取它,在写入之前检查权限等。这样可以减少重试频率。 3)如果上述两种操作均失败,则意味着服务中断等情况永远无法处理,您可以重新考虑所有必要的方面,例如 - MAX尝试,MAX超时您要重新尝试的敌人,离开尝试一定量的尝试或时间等后尝试。
希望这有帮助。