前言 当开发者从单线程开发模式过渡到多线程环境,一个比较棘手的问题就是如何在一个线程中返回数据,众所周知,run()方法和start()方法不会返回任何值. 笔者在学习<Java Network Programming>一书时,总结三种常用方法:定义获取器.静态方法回调以及实例方法回调. 定义获取器 从线程中返回数据,比较直观的想法是在线程中定义一个get方法,线程执行完成后,调用get方法即可,表观如此,其实会遇到意想不到的结果. 代码清单1-1 展示了在线程中定义获取器 package t…