synchronized使用案例
时间: 2023-07-04 09:31:10 浏览: 92
synchronized的几种示例
以下是一个使用 `synchronized` 实现线程同步的案例:
```java
public class Counter {
private int count = 0;
public synchronized void increment() {
count++;
}
public synchronized void decrement() {
count--;
}
public synchronized int getCount() {
return count;
}
}
```
在这个例子中,`Counter` 类表示一个计数器,支持增加和减少计数器的值,以及获取当前计数器的值。由于这些操作都是对共享变量 `count` 进行操作,因此需要使用 `synchronized` 关键字来保证线程安全。在 `increment()`、`decrement()` 和 `getCount()` 方法中都使用了 `synchronized`,这样在任意时刻只能有一个线程执行这些方法,从而避免了多线程并发访问时的数据竞争问题。
阅读全文