runnable和callable區別
- 生活小竅門
- 關注:1.63W次
runnable和callable的區別如下:
相同點:
1、都是介面;
2、都可以編寫多執行緒程式;
3、都採用Thread.start()啟動執行緒;
不同點:
1、Runnable沒有返回值;Callable可以返回執行結果,是個泛型,和Future、FutureTask配合可以用來獲取非同步執行的結果;
2、Callable介面的call()方法允許丟擲異常;Runnable的run()方法異常只能在內部消化,不能往上繼續拋;
注:Callalbe介面支援返回執行結果,需要呼叫FutureTask.get()得到,此方法會阻塞主程序的繼續往下執行,如果不呼叫不會阻塞。
- 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/xiaoqiaomen/mo4r0w.html