上篇文章讲了前两种实现方法,接下来会为大家展现后两种方法是如何实现的

三、实现Callable接口

  1. 与使用Runnable相比, Callable功能更强大些

  2. 实现的call()方法相比run()方法,可以返回值

  3. 方法可以抛出异常

  4. 支持泛型的返回值

  5. 需要借助FutureTask类,比如获取返回结果

四、使用线程池

说明:

  • 提前创建好多个线程,放入线程池中,使用时直接获取,使用完放回池中。可以避免频繁创建销毁、实现重复利用。类似生活中的公共交通工具。

好处:

  1.  提高响应速度(减少了创建新线程的时间)

  2.  降低资源消耗(重复利用线程池中线程,不需要每次都创建)

  3.  便于线程管理

     

     

注:本文为原创,未经许可不得在任何平台转载。如需转载,与作者联系~

关注微信公众号:智识训练营,可以Java交流群16844592获取更多资

版权声明:本文为bootcamp原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/bootcamp/p/12718644.html