当前位置: 代码迷 >> J2SE >> Java并发有关问题
  详细解决方案

Java并发有关问题

热度:5889   发布时间:2013-02-25 00:00:00.0
Java并发问题
Java code
public class ThreadPre {        public static void main(String[] args) throws IOException {        ServerSocket socket = new ServerSocket(80);                while(true){            final Socket connection = socket.accept();                        Runnable task = new Runnable() {                                @Override                public void run() {                                    handle(connection);                                    }                            };                        new Thread(task).start();        }    }}

请问上面的代码socket为什么要用final声明?这是我在《Java并发编程实践》看到的例子,请解释下

------解决方案--------------------------------------------------------
不声明final的话,匿名类的函数没法直接引用该局部变量。
  相关解决方案