创建线程的几种方式

一、继承Thread类 重写run()方法

二、实现Runnable接口 实现run()方法-----不能返回值、不能抛出异常

三、实现Callable接口  重写call()方法--------返回值  抛异常

第三种方式需要借助FutureTask来使用:new Thread(new FutureTask(new MyCallable())).start() ;   FutureTask中get()方法获取返回值

Thread(Runnable r)-----Thread构造方法

FutureTase实现了Runnable

注意:只有执行get()方法时才会触发异常抛出

          get()方法是一个阻塞方法

          一个FutureTask中call方法只会被执行一次

posted on 2021-07-25 12:18  努力学习的菜鸡  阅读(15)  评论(0编辑  收藏  举报

导航