Java并发问题

snakeytm 2012-10-16 12:28:12

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并发编程实践》看到的例子,请解释下
...全文
140 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
MiceRice 2012-10-16
  • 打赏
  • 举报
回复
不声明final的话,匿名类的函数没法直接引用该局部变量。
snakeytm 2012-10-16
  • 打赏
  • 举报
回复
谢谢2楼
yjbren 2012-10-16
  • 打赏
  • 举报
回复
这个不常用我也记不住,看了2楼就当复习一遍啊
椰树海岛 2012-10-16
  • 打赏
  • 举报
回复
这个和hibernate的自定义查询方法一样
public List<XXX> findDaysGroupBy(final Long userId) {
return (List<XXX>) super.getHibernateTemplate().executeFind(
new HibernateCallback() {
@SuppressWarnings("deprecation")
public Object doInHibernate(Session session){
龙四 2012-10-16
  • 打赏
  • 举报
回复
这是java基本语法问题
huangxiaofei 2012-10-16
  • 打赏
  • 举报
回复
你去掉final一编译就知道了,报错如下:
ThreadPre.java:21 错误:从内部类中访问本地变量connection;需要被声明为最终类型
handle(connection);
^

所以,楼上正解

英文版:Java Concurrency in Practice 内容简介 《JAVA并发编程实践》随着多核处理器的普及,使用并发成为构建高性能应用程序的关键。Java 5以及6在开发并发程序中取得了显著的进步,提高了Java虚拟机的性能以及并发类的可伸缩性,并加入了丰富的新并发构建块。在《JAVA并发编程实践》中,这些便利工具的创造者不仅解释了它们究竟如何工作、如何使用,还阐释了创造它们的原因,及其背后的设计模式。 编辑推荐 《JAVA并发编程实践》既能够成为读者的理论支持,又可以作为构建可靠的、可伸缩的、可维护的并发程序的技术支持。《JAVA并发编程实践》并不仅仅提供并发API的清单及其机制,还提供了设计原则、模式和思想模型,使我们能够更好地构建正确的、性能良好的并发程序。《JAVA并发编程实践》适合于具有一定Java编程经验的程序员、希望了解Java SE 5以及6在线程技术上的改进和新特性的程序员,以及Java并发编程的爱好者。 作者简介 作者:(美)戈茨 等 本书作者系lava标准化组织(Java Cotl]munity Process)JSR 166专家组(并发工具)的主要成员,同时他们还致力于其他多个JCP专家组织。Brain Goetz是一位拥有二十年行业经验的软件咨询师,发表过超过75篇关于。Java开发的文章。Tim Peierls是现代多处理器的权威,在BoxPop.biz、唱片艺术和戏剧表演上也造诣颇深。Joseph Bowbeer是一位Java ME专家,他对并发编程的痴迷始于在Apollo计算机上编程的岁月。David Holmes是《The Java TM Programmjng LangLJage》的合著者,目前就职于Sun Microsysterns。Joshua Bloch是Google的首席Java架构师,《Effective Java》的作者、《3ava PLizzlers》的合著者,他不像他的兄弟(his brother,Bloctl与Neal主持的Java编程专栏里虚构的人物)那样编程,从来都不。Doug Lea是《Corlcurrent Progra r11ming in Java》的作者,SUNY Oswego大学计算机科学的教授。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧