快速失败我能理解,迭代过程中,集合被其他线程修改了,会抛出异常,这叫失败。
那安全失败迭代器呢,怎么失败了,哪里失败了,不是没抛异常吗?
那安全失败迭代器呢,怎么失败了,哪里失败了,不是没抛异常吗?

1 hidemyself Jan 16, 2023 fail-safe,为什么要翻译成安全失败 |
2 TWorldIsNButThis Jan 16, 2023 @hidemyself 很正常,毕竟 out of memory 可以翻译成内存溢出 |
3 geelaw Jan 16, 2023 via iPhone 搜索了一下,是神秘的奇葩翻译,fail-safe 的正译不“安全失败”,它的意思是“在非正常情况下仍然 safe”,可以译作“防失败”“防呆”“万全”“万无一失”“保险”…… 根据资料,Java 集合的 fail-safe 遍历是让迭代器总是与创建时刻的集合状态关联,即被迭代集合不可变,对于可变集合的实现就是先把集合复制一次。 此外,fail-fast 更好的翻译是“尽早报错”。 |
&bsp; 4 iseki Jan 16, 2023 这不应该叫“失败安全”吗 |
5 xuanbg Jan 16, 2023 反正这个词就很奇葩,不仅仅是翻译奇葩,原文也奇葩。什么叫 fail-safe ,原意应该是指一种可控的,可预期的失败,或者,就是不会导致程序异常的失败。这个用 safe 来表述就很灵性…… |