从底层讲 多线程有三个中 一种是用户级线程 一种是内核级线程 还有一种是用户级线程和内核级线程混合
从jvm角度讲 线程的实现有四种 分别为
一种是继承Tread类
一种是实现runnable接口 优势:本身是接口可以多继承,接口更适合多个线程的代码去共享同个资源
接口代码可以被多个线程实现,线程和代码独立
线程池只能放入runnable和callable接口
一种是实现callable接口: 优势:可以动态的调整线程,
call()允许抛出异常
callable有返回结果
方法为furtherTask.get() 此方法会阻塞主线程 直到返回将来的结果
最后一种是线程池