建议将 synchronized 块替换为 ReentrantLock
Author: rui8832Created Apr 7, 2026Updated Apr 22, 2026
建议增加的新功能:
建议将 synchronized 块替换为 ReentrantLock,避免虚拟线程被固定到载体线程上。
class X {
private final ReentrantLock lock = new ReentrantLock();
// ...
public void m() {
lock.lock(); // block until condition holds
try {
// ... method body
} finally {
lock.unlock();
}
}
}参考:Virtual Threads: Avoid Lengthy and Frequent Pinning。
应用场景阐述:
使用 Java 21 虚拟线程。
Source: dromara/Sa-Token