Java在多线程情况下如何让无论何时只能一次请求访问这个方法 写出代码 synchronized 没什么用
如果synchronized没什么用,那么可以使用Lock接口来实现:
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
public class MyClass {
private Lock lock = new ReentrantLock();
public void myMethod() {
lock.lock();
try {
// 在这里编写需要同步的代码块
} finally {
lock.unlock();
}
}
}
在这个例子中,我们使用了Lock接口的实现类ReentrantLock来创建一个锁对象。在myMethod()方法中,我们首先调用lock()方法获取锁,然后在需要同步的代码块中执行操作。最后,我们调用unlock()方法释放锁。这样,无论何时只能有一个线程访问myMethod()方法
原文地址: https://www.cveoy.top/t/topic/eDXk 著作权归作者所有。请勿转载和采集!