1.第三种创建多线程的方式:
实现Callable接口
创建Callable实现类,实现call()方法,创建Callable类对象,传递到FutureTask构造器中创建FutureTask类对象,再将Futuretask对象传递到Thread构造器中创建Thread对象,对象.start()
class NumberThread implements Callable{
public ? call(){}
}
psvm(){
NumberThread numberThread=newNumberThread;
FutureTask futureTask=new FutureTask(numberThread);
Thread t1=new Thread(futureTask);
t1.start;
futureTask.get();//可以获取call()的返回值
}
2.第四种创建多线程的方式:线程池
class Thread1 implements Runnable{}
class Thread2 implements Callable{}
psvm(){
ExecutorsService service=executors.newFixedThreadPool();
service.execute(new Thread1());
service.submit(new Thread2());
service.shutdown();
}