java 线程中reference 是什么意思

如题所述

不明白你所说的线程中的 reference,先解释一下你的问题,可能我误解你的问题而答非所问。

一般来说在代码中先开一个线程它来使用当前方法中的变量时要求这个变量的 final 的。其它的好像没有什么特殊的地方。

为什么在一个方法(假设这个方法名是 main 方法)内新开一个线程时它如果使用这个方法的局部变量时必须是 final 呢?这个问题其它很简单,这是因为 Java 中方法的局部变量是放在堆栈中的,当一个方法结束时堆栈中的变量会被清理掉,不再存在,那么当我们把这些局部变量传递给新线程去使用时,可能 main 方法调用启动了这个新线程之后立即就退出了,那么这时 main 的所有局部变量就不再有意义,如果新线程想修改这些变量的值就是一种错误的做法,但当这些变量是 final 的不会再变化,那么也就没有什么隐患了。

因此在 Java 中新开一个线程使用它外面这个方法里面的局部变量时是要求这些被使用的变量必须是 final 的。
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网