穀粒商城項目總結(四)

線程回顧

初始化線程的4種方式:

  1. 繼承Thread
  2. 實現Runnable接口
  3. 實現Callable接口 + FutureTask(可以拿到返回結果,可以處理異常)
  4. 線程池

方式1和方式2:主進程無法獲取線程的運算結果。不適合當前場景
方式3:主進程可以獲取線程的運算結果,並設置給itemVO,但是不利於控制服務器中的線程資源。可以導致服務器資源耗盡。
方式4:通過如下兩種方式初始化線程池:

Executors.newFiexedThreadPool(3);
//或者
new ThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveTime, TimeUnit unit, workQueue, threadFactory, handler);

通過線程池性能穩定,也可以獲取執行結果,並捕獲異常。但是,在業務複雜情況下,一個異步調用可能會依賴於另一個異步調用的執行結果。

CompletableFuture

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章