多线程之失败自动重试机制

发现一个比较好玩的东西:

如果你在使用多线程的使用中异常结束了,你应该如何操作呢?

例子:

正常情况下:

多线程之失败自动重试机制

 

多线程之失败自动重试机制

项目一启动都可以跑完,如果有一段代码出现错误呢。

多线程之失败自动重试机制

系统丢出了一个异常出来。

有没有发生过这样的情况,你写的工作线程莫名其妙的挂了,如果不是被你刚好看到,拿只能抓瞎了,不知道啥原因了,因为异常的时候只会把stack trace打在控制台上,不会记在你想记得错误日志里,头皮都抓破了也没能找到确切的地方,最后只能在能加try catch 的地方都给加上,但你却并没有找到准确的错误地址。

好的,接下来我们把代码更改一下:

多线程之失败自动重试机制

多线程之失败自动重试机制

然后我们再运行一下看看:

多线程之失败自动重试机制

 

在完成任务之前,这个线程会持续运行。通过其他多线程的思想同样可以实现这种情况。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpxzzd.html