什么是线程事务共享,用java 代码实现一个案例
时间: 2023-11-27 14:49:04 浏览: 84
线程事务共享指的是多个线程共同访问同一个事务资源,需要保证数据的一致性和安全性。在Java中,可以使用synchronized关键字或Lock接口来实现线程事务共享。
下面是一个使用synchronized关键字实现线程事务共享的案例,该案例模拟了多个线程对一个计数器进行累加操作:
```java
public class ThreadTransactionShareDemo {
private int count = 0;
public synchronized void increment() {
count++;
}
public static void main(String[] args) throws InterruptedException {
ThreadTransactionShareDemo demo = new ThreadTransactionShareDemo();
Thread thread1 = new Thread(() -> {
for (int i = 0; i < 10000; i++) {
demo.increment();
}
});
Thread thread2 = new Thread(() -> {
for (int i = 0; i < 10000; i++) {
demo.increment();
}
});
thread1.start();
thread2.start();
thread1.join();
thread2.join();
System.out.println("Count: " + demo.count);
}
}
```
在上述代码中,我们使用synchronized关键字来确保increment方法的原子性,从而保证多个线程对count变量进行操作时的数据一致性和安全性。在main方法中,我们创建了两个线程来对计数器进行累加操作,并在最后输出计数器的值。
阅读全文