Please find here a change that revisits usage of monitors in the HttpClient.
With Virtual Threads now part of the platform it should be possible to pass a newVirtualThreadPerTaskExecutor to the HttpClient. Logging, when called from a synchronized block, can cause the carrier thread to get pinned in case of contention when printing through the underlying PrintStream. This change aims at avoiding situations where the carrier threads might get pinned. ------------- Commit messages: - 8308310 Changes: https://git.openjdk.org/jdk/pull/14038/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=14038&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8308310 Stats: 886 lines in 31 files changed: 518 ins; 110 del; 258 mod Patch: https://git.openjdk.org/jdk/pull/14038.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/14038/head:pull/14038 PR: https://git.openjdk.org/jdk/pull/14038