Java 创建线程有哪几种方法

1,637 total views, 12 views today

1. 继承 Thread 类,然后调用 start 方法。

2. 实现 Runnable 接口的 run 方法, 然后再用 Thread 类包裹后,调用 start 方法。

3. 实现 Callable 接口的 call 方法,用 FutureTask 类包裹 Callable 对象。然后再用 Thread 类包裹 FutureTask 类,并调用 start 方法。call() 方法可以有返回值。

Callable 方法在 Java 8 后,支持拉姆达表达式的写法,可以创建一个 FutureTask 类,语句上不是太罗嗦。
Callable 方式有以下几个优点:

  • 可以捕获线程上的异常。
  • 可以通过 get 方法得到返回值。
  • get 方法阻塞当前线程,直到调用的线程运行结束。
  • 可以取消线程的运行。

下面代码演示了使用 FutureTask 类运行线程,捕获异常的例子:

Java 6 之后,还可以通过创建线程池来创建线程,使用 ExecutorService 的 execute 方法:

 

原创文章,转载请注明出处!http://www.javathings.top/java创建线程有哪几种方法/

About: wusq


发表评论

邮箱地址不会被公开。 必填项已用*标注