常见疑惑:Java多线程同步问题示例
在Java中,多线程的同步问题主要是关于共享资源的访问控制。以下是一个常见的同步问题示例:
// 假设我们有一个共享的count变量
class Counter {
private int count = 0;
// 同步方法,保证count在同一时刻只有一个线程在修改
public synchronized void increment() {
count++;
}
// 同步方法,保证count在同一时刻只有一个线程在读取
public synchronized int getCount() {
return count;
}
}
在这个例子中,我们创建了一个Counter
类,其中包含一个共享的计数器count
。我们通过两个同步方法来控制对count
的访问:increment()
用于增加计数,而getCount()
用于获取当前计数值。
这样设计可以保证在任何时候只有一个线程修改或读取count
,从而避免了多线程同步问题。
还没有评论,来说两句吧...