callable Runnable 区别

来源:互联网 发布:安安软件站官网 编辑:程序博客网 时间:2024/06/11 13:30
1.Callable 使用 call() 方法, Runnable 使用 run() 方法
2.call() 可以返回值, 而 run()方法不能返回。

3.call() 可以抛出受检查的异常,比如ClassNotFoundException, 而run()不能抛出受检查的异常。

4、由3可知call抛出异常可以捕获,而run不可以,为了解决这种情况,可在每个Thread对象上附着一个异常处理器,Thread.UncaughtExceptionHandler.uncaughtException()会在线程因未捕获异常而临近死亡的时被调用。

0 0