SDLHZ 2016-09-12 03:13 采纳率: 0%
浏览 744

Java Thread Runnable run

请问 为什么主函数中的User eclipse 会提示修改成 final 修饰
class User {
public void A(){
for (int i = 0; i >0 ; i--) {
System.out.println(i);
}
}
public void B(){
for (int i = 0; i >0 ; i--) {
System.out.println(i);
}
}
}

public class TestThread {
public static void main(String[] args) {
final User u = new User();
Thread t1 = new Thread(new Runnable(){public void run(){u.A();}});
Thread t2 = new Thread(new Runnable(){public void run(){u.B();}});

}

}

  • 写回答

2条回答

  • bdmh 移动开发领域优质创作者 2016-09-12 03:15
    关注

    异步中修改外部对象,会导致不同步,造成数据错误,所以建议你改成final,保证对象是不会被修改的

    评论

报告相同问题?

悬赏问题

  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 luckysheet
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型
  • ¥50 buildozer打包kivy app失败
  • ¥30 在vs2022里运行python代码
  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱