JAVA 同步锁demo
时间: 2023-07-23 09:12:40 浏览: 94
java synchronized demo
好的,这里给你一个简单的 Java 同步锁的示例代码:
```java
public class SynchronizedDemo {
private int count = 0;
public synchronized void increment() {
count++;
}
public static void main(String[] args) throws InterruptedException {
SynchronizedDemo demo = new SynchronizedDemo();
// 创建两个线程,同时对 count 进行自增操作
Thread t1 = new Thread(() -> {
for (int i = 0; i < 100000; i++) {
demo.increment();
}
});
Thread t2 = new Thread(() -> {
for (int i = 0; i < 100000; i++) {
demo.increment();
}
});
// 启动两个线程
t1.start();
t2.start();
// 等待两个线程执行完毕
t1.join();
t2.join();
// 输出 count 的值
System.out.println("count = " + demo.count);
}
}
```
在该例子中,我们创建了一个 `SynchronizedDemo` 类,并定义了一个 `increment()` 方法,该方法使用 `synchronized` 关键字进行修饰,以保证在同一时刻只有一个线程可以执行该方法。我们创建了两个线程,同时对 `count` 进行自增操作,并在最后输出 `count` 的值。由于 `increment()` 方法是同步的,因此我们可以保证 `count` 的值一定是 200000。
阅读全文