代码块 加synchronized
时间: 2023-12-07 14:27:15 浏览: 83
同步代码块(synchronized).zip
代码块加上 synchronized 关键字可以实现多线程的同步。当一个线程进入 synchronized 代码块时,会锁定该代码块,其他线程无法进入该代码块直到该线程执行完毕并释放锁。
例如,以下是一个使用 synchronized 关键字的代码块的示例:
```java
public class Example {
private int count = 0;
public void increment() {
synchronized(this) {
count++;
}
}
}
```
在上面的示例中,`increment()` 方法使用 `synchronized` 关键字修饰,将 `count` 变量的增加操作放在了一个同步代码块中,并且锁定了当前对象 `this`。这样可以确保在多个线程同时执行 `increment()` 方法时,每次只有一个线程能够访问并修改 `count` 变量,避免了数据竞争和不一致的结果。
需要注意的是,synchronized 关键字可以用来修饰方法、代码块以及静态方法,具体使用方式根据实际需求进行选择。
阅读全文