RFR: 8263903: Use Cleaner instead of finalize to auto stop Timer thread
David Holmes
dholmes at openjdk.java.net
Sun Mar 21 22:59:42 UTC 2021
On Sun, 21 Mar 2021 03:53:24 GMT, Kim Barrett <kbarrett at openjdk.org> wrote:
> Please review this change to java.util.Timer, replacing the use of deprecated finalization-based cleanup with use of java.lang.ref.Cleaner.
>
> In addition, Timer.cancel now cancels any later execution of the the no longer relevant cleanup.
>
> Testing:
> mach5 tier1
> New AutoStop test verifies the specified cleanup behavior.
> (There are existing tests involving Timer.cancel.)
test/jdk/java/util/Timer/AutoStop.java line 47:
> 45: public void run() {
> 46: tdThread = Thread.currentThread();
> 47: synchronized(wakeup) {
tdThread should be set inside the sync block, and then doesn't need to be declared volatile
-------------
PR: https://git.openjdk.java.net/jdk/pull/3106
More information about the core-libs-dev
mailing list