Avoiding pinning via locking: Explain and exemplify how we can avoid pinned virtual threads by refactoring synchronized code via ReentrantLock.