gpt4 book ai didi

java - 多线程应用程序中的静态计数器线程是否安全?

转载 作者:行者123 更新时间:2023-12-01 14:08:49 25 4
gpt4 key购买 nike

public class counting
{
private static int counter = 0;

public void boolean counterCheck(){
counter++;
if(counter==10)
counter=0;
}
}

方法 counterCheck 可以被我的应用程序中的多个线程访问。我知道静态变量不是线程安全的。如果有人可以帮助我举例或告诉我为什么必须同步方法或 block ,我将不胜感激。如果我不同步会怎样?

最佳答案

这显然不是线程安全的。考虑两个完全并行运行的线程。如果计数器为 9,它们将各自递增计数器,导致计数器为 11。然后它们都不会看到该计数器等于 10,因此计数器将从那时起继续递增,而不是按预期包装。

关于java - 多线程应用程序中的静态计数器线程是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8190290/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com