这段java代码有什么问题吗?为什么多线程并发执行后结果不是期望的100
publicclassTestMain{publicstaticAtomicIntegerai=newAtomicInteger(0);publicstaticvoidm...
public class TestMain {
public static AtomicInteger ai=new AtomicInteger(0);
public static void main(String[] args) {
for(int i=0;i<100;i++)
{
Thread t=new Thread(new Runnable() {
public void run() {
ai.getAndIncrement();
}
}
);
t.start();
}
System.out.println(ai.get());
}
}
//会输出一个随机数 展开
public static AtomicInteger ai=new AtomicInteger(0);
public static void main(String[] args) {
for(int i=0;i<100;i++)
{
Thread t=new Thread(new Runnable() {
public void run() {
ai.getAndIncrement();
}
}
);
t.start();
}
System.out.println(ai.get());
}
}
//会输出一个随机数 展开
3个回答
展开全部
Thread t=new Thread(new Runnable(),创建对象应该和类的名称一样吧。我也是新手,我觉得是:
TestMain t=new TestMain(new Runnable()。希望能帮到你。
TestMain t=new TestMain(new Runnable()。希望能帮到你。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
线程并发,100个线程你没指点执行顺序,所以是随机的咯!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询