使用Java编写的并发问题案例
在Java中,并发问题经常涉及到线程、锁、条件变量等并发工具。以下是一个简单的并发问题案例:
import java.util.concurrent.locks.ReentrantLock;
public class Counter {
private int count;
private ReentrantLock lock = new ReentrantLock();
public synchronized void increment() {
count++;
}
public synchronized int decrement() {
if (count > 0) {
count--;
return count;
} else {
throw new IllegalStateException("Counter underflow");
}
}
}
在这个例子中,Counter
类有一个可变的计数器。两个方法 increment()
和 decrement()
都是线程安全的,它们通过锁来保证共享资源的安全。
这个案例展示了Java中处理并发问题的基本方式。
还没有评论,来说两句吧...