2线程的实例化方式
-
线程的实例化方式
- Java线程有三种实例化方法
继承 Thread
实现Runnable接口
实现Callable接口:Java.util.concurrent
-
- 继承Thread类
继承Thread类,重写run()方法。通过t.start()方法调用。
-
- 实现Runnable接口
自定义类MyRunnable 实现 Runnable接口,并重写run()方法(返回值为void);通过new Thread(my1).start()方法启动线程。
线程的返回结果不能获取,在面向对象中扩展简单
-
- 实现Callable接口
通过实现Callable接口并重写call()方法(返回值为一个泛型对象),建立一个异步的回调对象call;使用call初始化一个FutureTask对象 ft,并初始化/启动异步任务;通过ft.get获取异步的执行结果。
优势:主线程可以获取启动的线程的执行结果。