读书人

Java并发有关问题

发布时间: 2012-11-12 12:31:58 作者: rapoo

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的话,匿名类的函数没法直接引用该局部变量。

读书人网 >J2SE开发

热点推荐