java怎么给对象加互斥锁
在Java中,可以使用synchronized关键字为对象添加互斥锁。具体步骤如下:
- 在要添加互斥锁的方法前添加synchronized关键字。例如,如果要为一个方法添加互斥锁,可以将方法声明为synchronized方法:
public synchronized void method() {
// 方法体
}
- 如果要为一个代码块添加互斥锁,可以使用synchronized关键字加上要锁住的对象作为参数:
synchronized (obj) {
// 代码块
}
其中,obj是要锁住的对象。
当一个线程执行到synchronized关键字修饰的代码块或方法时,它将获取该对象的锁,其他线程在此期间将被阻塞,直到该线程释放锁。
需要注意的是,synchronized关键字只能锁住同一个对象的不同线程,无法锁住不同对象的线程。如果需要同时锁住多个对象,可以考虑使用Lock接口的实现类,例如ReentrantLock。