一、多線程的四種實現方式
a、繼承Thread類
b、實現Runnable接口
c、實現Callable接口
d、Executor線程池的方式實現
四種方式的實現方式請看:https://www.cnblogs.com/felixzh/p/6036074.html
二、ExecutorService中submit和execute的區別
a、submit有入參與返回值,並且可以處理異常。需要實現Callable接口
b、execute沒有返回值
詳情請看:https://www.cnblogs.com/wanqieddy/p/3853863.html
三、Executors實現四種線程池
a、newCachedThreadPool,創建緩存線程池,如果線程池長度超過處理需要,可靈活回收空閒線程,若無可回收,則新建線程。
b、newFixedThreadPool 創建一個定長線程池,可控制線程最大併發數,超出的線程會在隊列中等待。
c、newScheduledThreadPool 創建一個定長線程池,支持定時及週期性任務執行。
d、newSingleThreadExecutor 創建一個單線程化的線程池,它只會用唯一的工作線程來執行任務,保證所有任務按照指定順序(FIFO, LIFO, 優先級)執行。