關閉→
當前位置:知科普>生活妙招>runnable和callable區別

runnable和callable區別

知科普 人氣:1.56W

runnable和callable的區別如下:

runnable和callable區別

相同點:

1、都是接口;

2、都可以編寫多線程程序;

3、都採用Thread.start()啟動線程;

不同點:

1、Runnable沒有返回值;Callable可以返回執行結果,是個泛型,和Future、FutureTask配合可以用來獲取異步執行的結果;

2、Callable接口的call()方法允許拋出異常;Runnable的run()方法異常只能在內部消化,不能往上繼續拋;

注:Callalbe接口支持返回執行結果,需要調用FutureTask.get()得到,此方法會阻塞主進程的繼續往下執行,如果不調用不會阻塞。

TAG標籤:#callable #runnable #