深入解析Java中的同步锁问题实例
在Java编程中,同步锁是控制多线程对共享资源访问的重要工具。以下是一个简单的同步锁问题实例:
public class SharedResource {
private int count = 0;
// 同步方法,允许多个线程访问count属性,但只有一个能执行代码
public synchronized void increment() {
count++;
System.out.println("Count incremented to " + count); // 在多线程环境下可能会打印多次这个消息
}
// 同步方法,允许访问count属性的线程等待
public synchronized void decrement() {
count--;
System.out.println("Count decremented to " + count);
}
}
在这个例子中,SharedResource
类有一个共享变量count
。我们有两个同步方法:increment()
和decrement()
。
由于这两个方法都是synchronized
修饰的,它们会阻止其他线程进入相同的代码块,从而实现了对共享资源的保护。
还没有评论,来说两句吧...