多线程
1,线程基础1,继承Thread方式的线程当需要再此启动一个线程时,需要再创建对象,不能重复使用。2,推荐的创建线程方式:继承Runnalbe,使用Thread类1.5之前就这两种callable 第三种可以有返回值 call()可以抛出异常支持泛型返回值需要借助FutureTask, 如获取返回值的时候class MyThread implements Callable{
public Object call() throws Exception{
....
...