傲娇的鲤鱼 2017-10-21 10:08 采纳率: 20%
浏览 865

java多线程的一个特别特别诡异的bug,请各位前辈帮忙看看。。

图片说明

程序大概是这个样子,A B类的功能是每隔一定的时间往控制台输出一下信息,并且A B类都有一个成员变量n用来记录输出了几次信息。 按理说等到某一个线程输出完8次信息后,程序应该终止,但是实际上这个程序确是一直执行下去的死循环。 更加诡异的是,如果把第14行的注释去掉,程序就会正确的结束。 一个System.out.pringtln()也会影响整个程序吗?

  • 写回答

2条回答 默认 最新

  • 秦雅酒食 2017-10-23 11:54
    关注

    建议在if循环内加一个延时函数,进行调试

    评论

报告相同问题?