回顾多线程
線程回顧
初始化線程的4種方式:
繼承Thread
實現Runnable接口
實現Callable接口 + FutureTask (可以拿到返回結果,可以處理異常)
線程池
方式1和方式2:主進程無法獲取線程的運算結果。不適合當前場景
方式3:主進程可以獲取線程的運算結果,并設置給itemVO,但是不利于控制服務器中的線程資源。可以導致服務器資源耗盡。
方式4:通過如下兩種方式初始化線程池:
Executors.newFiexedThreadPool(3); //或者 new ThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveTime, TimeUnit unit, workQueue, threadFactory, handler);通過線程池性能穩定,也可以獲取執行結果,并捕獲異常。但是,在業務復雜情況下,一個異步調用可能會依賴于另一個異步調用的執行結果。
?
總結