java int i; i++线程安全吗?为什么?

2025-05-17 13:07:48
推荐回答(5个)
回答1:

i++是不安全的,因为java在操作i++的时候,是分步骤做的,可以理解为:
tp = i;
tp2 = i+1;
i=tp2;
如果线程1在执行第一条代码的时候,线程2访问i变量,这个时候,i的值还没有变化,还是原来的值,所以是不安全的。

回答2:

这样写的话,编译都通不过,int i;都没有初始化变量值。
更加谈不上线程安全了。

回答3:

不安全,i 没有初始值

回答4:

安全..没有其他线程来操作这个变量

回答5:

你这么问我也不知怎么回答
线程安全就是 单线程和多线程运行时结果一样