对于所有语言来说,多线程的编程是绝不可少的。同样的Java语言也包含了多线程的开发。首先,我们先来了解一下Java语言的多线程实现方式。
一、Java 多线程实现方式
java中实现多线程的方式有三种,接下来我将会逐个进行介绍。
1.继承Thread类
继承Thread类是Java中比较常见,也是很基础的一种实现Java多线程的方式。实现的方式也比较简单,只要将需要实现多线程的Java类继承java.lang.Thread类,重写run()方法即可。
2.实现Runnable接口
1.实现Runnable接口,并且实现run()方法。
2.创建Thread对象,用实现Runnable接口的对象作为参数实例化该对象
3.调用Thread的start()方法
1 |
|
3.实现Callable接口,重写call()方法
Callable是属于Executor框架中的功能类,与Runnable接口相似,但是有比Runnable更强大的功能:
1) Callable 可以在任务结束后提供- 个返回值,Runnable 无法提供这个功能。
2) Callable 中的call( )方法可以抛出异常,而Runnable的run( )方法不能抛出异常。
3)运行Callable可以拿到一个Future 对象,Future对象表示异步计算的结果,它提供了检查计算是否完成的方法。由于线程属于异步计算模型,因此无法从别的线程中得到函数的返回值,在这种情况下,就可以使用Future来监视目标线程调用call()方法的情况,当调用Future 的get( )方法以获取结果时,当前线程就会阻塞,直到ell )方法结束返回结果。