java synchronized实现代码块锁
时间: 2023-12-07 22:56:05 浏览: 164
Java使用synchronized实现互斥锁功能示例
Java中的synchronized关键字可以用来实现代码块锁。在需要保证线程安全的代码块中加上synchronized关键字,这样同一时刻只有一个线程可以进入该代码块,其他线程需要等待。
下面是一个示例代码:
```
public class CodeBlockLock {
private int count = 0;
private Object lock = new Object();
public void increment() {
synchronized (lock) { // 代码块锁
count++;
}
}
public int getCount() {
synchronized (lock) { // 代码块锁
return count;
}
}
}
```
在上面的代码中,increment()和getCount()方法都加上了synchronized关键字,这样就能保证在同一时刻只有一个线程可以执行这些方法,从而实现了代码块锁。同时,为了避免锁定整个对象,我们可以使用一个Object对象作为锁,这样只锁定了需要保护的代码块,提高了代码的执行效率。
阅读全文