You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A current limitation of the implementation of virtual threads is that performing a blocking operation while inside a synchronized block or method causes the JDK's virtual thread scheduler to block a precious OS thread, whereas it wouldn't if the blocking operation were done outside of a synchronized block or method. We call that situation "pinning".
IMHO, all synchronizd blocks or methods should be replaced with ReentrantLock usage.
The text was updated successfully, but these errors were encountered:
This is a temporary limitation of Virtual Threads and applies only to blocking operations inside synchronized blocks. I went through all cases of synchronized, and only deprecated-for-removal Lazy can run blocking code inside it, and that's the only change needed here I believe
According to https://docs.oracle.com/en/java/javase/21/core/virtual-threads.html#GUID-04C03FFC-066D-4857-85B9-E5A27A875AF9:
IMHO, all synchronizd blocks or methods should be replaced with ReentrantLock usage.
The text was updated successfully, but these errors were encountered: