1. 程式人生 > 其它 >執行緒建立新增兩種方式

執行緒建立新增兩種方式

新增方式一:實現Callable介面

與使用Runnable(重寫run方法)相比,Callable(重寫call方法)功能更強大些

call()方法相比run()方法,可以有返回值

方法可以丟擲異常

支援泛型的返回值

需要藉助FutureTask類,比如獲取返回結果

Future介面

可以對具體Runnable、Callable任務的執行結果進行取消、查詢是否完成、獲取結果等。

FutureTask是Future介面的唯一實現類。

FutureTask同時實現了Runnable,Future介面。它既可以作為Runnable被執行緒執行,又可以作為Future得到Callable的返回值。

新增方式二:使用執行緒池

背景:

經常建立和銷燬、使用量特別大的資源,比如併發情況下的執行緒,

對效能影響很大。

思路:

提前建立好多個執行緒,放入執行緒池中,使用時直接獲取,使用完放回池中。可以避免頻繁建立銷燬、實現重複利用。類似生活中的公共交通工具。

好處

提高響應速度(減少了建立新執行緒的時間)

降低資源消耗(重複利用執行緒池中執行緒,不需要每次都建立)

便於執行緒管理