implements runnable()是创建对象,然后调用start(),而Callable接口先是
1.创建目标对象
2.创建执行服务:ExecutorService ser=Executors.newFixedThreadPool(1);
3.提交执行:Future result1=ser.submit(t1);
4.获取结果:boolean r1=result1.get();
5.关闭服务:ser.shutdownNow();
线程池一般有返回值,且用来自行callable
1.创建服务,创建线程池
ExectorService service =Exectors.newFixedThreadPool(10);//线程池大小
2.执行
service.execute(new Mythread());
3.关闭连接
service.shutdown();
Lamda表达式没有返回值,一般用来runable
对于任何接口,只包含唯一一个抽象方法
创建子类的对象,指向父类,重写父类的方法时,即使指向父类,也自动执行子类中重写的方法。
接口中的方法在内存中实际上指向子类中重写的方法。
创建线程的三种方法
1.thread类 2.实现runnable接口 3.实现callable接口
重点看一下callable启动语句



