Java Threading中的final变量

类别:Java 点击:0 评论:0 推荐:

Java多线程对每个线程都有自己的栈。因此对于在线程控制流中的调用函数,它的内部变量不会相互影响。但是,对于多个线程可以同时访问到的对象,Java为了安全,必须强制程序员将其声明为final,以避免可能出现的竞争问题。

例子如下:
public class Test {
    public Test() {
        final int i = 1;  //如果不声明成final,则无法编译
        
        Runnable thread = new Runnable() {

            public void run() {
                System.out.println(i);
               
            }
           
        };
       
    }
   
    public static void main(String[] args) {
        Test test = new Test();
    }
}

本文地址:http://com.8s8s.com/it/it11388.htm