synchronized()
时间: 2023-10-30 15:58:21 浏览: 78
java_synchronized详解
synchronized() 是 Java 中的关键字,用于实现线程同步。当一个线程在 synchronized 代码块中获取了对象的锁时,其他线程必须等待该线程执行完毕才能继续执行。
synchronized 关键字可以用于方法或代码块。当用于方法时,它锁定的是整个对象实例;当用于代码块时,可以指定锁定某个特定对象。
例如,下面是使用 synchronized 关键字的一个示例:
```java
public class SynchronizedExample {
private int count = 0;
public synchronized void increment() {
count++;
}
public int getCount() {
return count;
}
}
```
在上面的代码中,increment() 方法使用 synchronized 关键字进行了修饰,这意味着在同一时间内只能有一个线程访问该方法。这样可以确保 count 的递增操作是线程安全的。
请注意,synchronized 关键字是一种简单而强大的机制,但在高并发场景下可能会导致性能问题。因此,在使用时需要谨慎评估其是否是必需的,并考虑使用更高级的并发控制机制,如 Lock、Condition、Atomic 类等。
阅读全文