src/java.base/share/classes/java/lang/doc-files/threadPrimitiveDeprecation.html
changeset 48942 a6c4b85163c1
parent 47216 71c04702a3d5
child 50530 7e3aa681a484
--- a/src/java.base/share/classes/java/lang/doc-files/threadPrimitiveDeprecation.html	Fri Feb 23 14:26:29 2018 -0500
+++ b/src/java.base/share/classes/java/lang/doc-files/threadPrimitiveDeprecation.html	Fri Feb 23 12:10:56 2018 -0800
@@ -1,6 +1,6 @@
 <!doctype html>
 <!--
- Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
  DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 
  This code is free software; you can redistribute it and/or modify it
@@ -346,19 +346,6 @@
 the manner of <code>Thread.suspend</code>. (In fact, it is roughly
 equivalent to <code>Thread.suspend</code> without the possibility
 of a subsequent <code>Thread.resume</code>.)
-<hr>
-<h3>Why is <code>Runtime.runFinalizersOnExit</code>
-deprecated?</h3>
-Because it is inherently unsafe. It may result in finalizers being
-called on live objects while other threads are concurrently
-manipulating those objects, resulting in erratic behavior or
-deadlock. While this problem could be prevented if the class whose
-objects are being finalized were coded to "defend against" this
-call, most programmers do <i>not</i> defend against it. They assume
-that an object is dead at the time that its finalizer is called.
-<p>Further, the call is not "thread-safe" in the sense that it sets
-a VM-global flag. This forces <i>every</i> class with a finalizer
-to defend against the finalization of live objects!</p>
 <p><!-- Body text ends here --></p>
 </body>
 </html>