runnable和callable区别
2023/1/2 9:51:33
runnable和callable的区别如下:
相同点:
1、都是接口;
2、都可以编写多线程程序;
3、都采用Thread.start()启动线程;
不同点:
1、Runnable没有返回值;Callable可以返回执行结果,是个泛型,和Future、FutureTask配合可以用来获取异步执行的结果;
2、Callable接口的call()方法允许抛出异常;Runnable的run()方法异常只能在内部消化,不能往上继续抛;
注:Callalbe接口支持返回执行结果,需要调用FutureTask.get()得到,此方法会阻塞主进程的继续往下执行,如果不调用不会阻塞。
声明:该内容系网友自行发布,所阐述观点不代表本网(威客牛网)观点,如若侵权请联系威客牛网删除。