线程、多线程和线程池面试专题
1、开启线程的三种方式?
1)继承Thread类,重写run()方法,在run()方法体中编写要完成的任务 new Thread().start();
2)实现Runnable接口,实现run()方法 new Thread(new MyRunnable()).start();
3)实现Callable接口MyCallable类,实现call()方法,使用FutureTask类来包装Callable对象,使用FutureTask对象作为Thread对象的target创建并启动线程;调用FutureTask对象的get()方法来获得子线程执行结束后的返回值。<