The doInBackground working loop is left because of the loop condition (!Thread.currentThread().isInterrupted()) - this will not clear the interrupted status of the thread and the Thread.sleep at line 63 will throw an InterruptedException directly. I suggest to change two things: No longer check the !Thread.currentThread().isInterrupted() but rely only on the Thread.sleep to throw an InterrutedException. And using a countdown latch instead of a sleep to ensure that we really entered the loop before we do cancel the worker.
--------- - [x] I confirm that I make this contribution in accordance with the [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). ------------- Commit messages: - Add countdown latch and use while-true loop. Changes: https://git.openjdk.org/jdk/pull/31348/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=31348&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8382063 Stats: 4 lines in 1 file changed: 2 ins; 0 del; 2 mod Patch: https://git.openjdk.org/jdk/pull/31348.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/31348/head:pull/31348 PR: https://git.openjdk.org/jdk/pull/31348
