理解Java中的同步控制(锁):问题与示例
在Java中,同步控制主要通过锁(Lock)来实现。锁是一种机制,可以确保在同一时间只有一个线程能够访问和修改共享资源。
以下是锁的基本概念:
- synchronized:这是最常用的锁关键字,它用于修饰方法或代码块,使其成为同步代码。
// 示例方法,使用 synchronized 锁定
public synchronized void printMessage() {
System.out.println("This message is printed synchronously.");
}
- Lock接口:Java 14引入了新的锁API,包括
ReentrantLock
、ConditionVariable
等。
// 示例使用 ReentrantLock
import java.util.concurrent.locks.ReentrantLock;
public class SynchronizedExample {
private final ReentrantLock lock = new ReentrantLock();
public void printMessage() {
lock.lock();
try {
System.out.println("This message is printed synchronously.");
} finally {
lock.unlock();
}
}
public static void main(String[] args) {
SynchronizedExample example = new SynchronizedExample();
example.printMessage();
}
}
以上是Java中同步控制(锁)的基本概念和示例。
还没有评论,来说两句吧...