java多线程基础框架
Java多线程(2)—线程创建
一、线程创建简介
在Java中,创建线程可以通过两种主要方式:继承 类、实现 、实现Callable 接口和线程池。
二、创建方式
2.1 继承 Thread 类
示例1
♠①:创建一个类继承 Thread 类,并重写 run 方法。
备注:这里如果使用run方法,是顺序执行
2.2 实现 Runnable 接口
♠②:创建一个类实现 Runnable 接口,并重写 run 方法。
一般使用实现Runnable接口
- 可以避免java中的单继承的限制
- 应该将并发运行任务和运行机制解耦,因此我们选择实现Runnable接口这种方式!
示例1
2.3 实现 Callable 接口
♠③:实现 Callable 接口,重写 call 方法,这种方式可以通过 FutureTask 获取任务执行的返回值。
示例
解释:
类
- 类实现了 接口,这意味着它的 方法返回一个 类型的结果。
- 构造函数 接收一个任务名,将其存储在 成员变量中。
主程序 main 方法
主程序执行流程说明:
- 创建线程池: 使用 创建一个固定大小为3的线程池 。
- 提交任务:
- 通过 提交任务A,返回一个 对象 。
- 通过 提交任务B,返回一个 对象 。
- 通过 提交任务C,返回一个 对象 。
- 获取结果:
- 使用 获取并打印任务A的结果。
- 使用 获取并打印任务B的结果。
- 使用 获取并打印任务C的结果。
- 异常处理与关闭线程池:
- 使用 块捕获可能抛出的 和 异常。
- 在 块中调用 关闭线程池,确保资源被正确释放。
总结
这段代码展示了如何利用线程池和 接口实现并发任务的提交和执行,并且展示了如何通过 对象获取每个任务的执行结果。这种方式能够有效地管理多个并发任务,提高程序的执行效率和性能。
2.4 使用线程池
在实际应用中,频繁地创建和销毁线程会带来性能开销,因此使用线程池是更为高效的选择。Java提供了 框架来管理线程池。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/h6javajc/25124.html