上篇文章讲了前两种实现方法,接下来会为大家展现后两种方法是如何实现的
三、实现Callable接口
与使用Runnable相比, Callable功能更强大些
实现的call()方法相比run()方法,可以返回值
方法可以抛出异常
支持泛型的返回值
需要借助FutureTask类,比如获取返回结果

四、使用线程池
说明:
提前创建好多个线程,放入线程池中,使用时直接获取,使用完放回池中。可以避免频繁创建销毁、实现重复利用。类似生活中的公共交通工具。
好处:
提高响应速度(减少了创建新线程的时间)
降低资源消耗(重复利用线程池中线程,不需要每次都创建)
便于线程管理
注:本文为原创,未经许可不得在任何平台转载。如需转载,与作者联系~
关注微信公众号:智识训练营,可以Java交流群16844592获取更多资
原文:https://www.cnblogs.com/bootcamp/p/12718644.html