小编Rap*_*ier的帖子

AtomicReference.compareAndSet()用于确定什么?

假设您有以下课程

public class AccessStatistics {
  private final int noPages, noErrors;
  public AccessStatistics(int noPages, int noErrors) {
    this.noPages = noPages;
    this.noErrors = noErrors;
  }
  public int getNoPages() { return noPages; }
  public int getNoErrors() { return noErrors; }
}
Run Code Online (Sandbox Code Playgroud)

然后执行以下代码

private AtomicReference<AccessStatistics> stats =
  new AtomicReference<AccessStatistics>(new AccessStatistics(0, 0));

public void incrementPageCount(boolean wasError) {
  AccessStatistics prev, newValue;
  do {
    prev = stats.get();
    int noPages = prev.getNoPages() + 1;
    int noErrors = prev.getNoErrors;
    if (wasError) {
      noErrors++;
    }
    newValue = new AccessStatistics(noPages, noErrors); …
Run Code Online (Sandbox Code Playgroud)

java concurrency atomicity

5
推荐指数
1
解决办法
4194
查看次数

标签 统计

atomicity ×1

concurrency ×1

java ×1