Java線程池使用的方法有以下幾種:
newFixedThreadPool(int nThreads):創(chuàng)建一個固定大小的線程池,線程數(shù)量固定,不會自動調(diào)整。
newCachedThreadPool():創(chuàng)建一個緩存線程池,線程數(shù)量根據(jù)任務(wù)數(shù)量的需要動態(tài)調(diào)整。
newSingleThreadExecutor():創(chuàng)建一個只有一個線程的線程池,確保所有任務(wù)都按順序執(zhí)行。
submit()方法:提交一個任務(wù)給線程池執(zhí)行,并返回一個表示該任務(wù)的Future對象,可以用來查看任務(wù)執(zhí)行結(jié)果或取消任務(wù)。
shutdown()方法:平緩關(guān)閉線程池,等待所有已提交的任務(wù)執(zhí)行完畢后再關(guān)閉線程池。
shutdownNow()方法:立即關(guān)閉線程池,嘗試終止所有正在執(zhí)行的任務(wù),并返回一個列表,包含所有未執(zhí)行的任務(wù)。
awaitTermination(long timeout, TimeUnit unit)方法:等待線程池中的所有任務(wù)執(zhí)行完畢,或者超時。
setThreadFactory(ThreadFactory threadFactory)方法:設(shè)置線程工廠,用于創(chuàng)建新線程。
setRejectedExecutionHandler(RejectedExecutionHandler handler)方法:設(shè)置拒絕策略,用于處理任務(wù)隊列已滿時的拒絕任務(wù)。
getPoolSize()方法:獲取當(dāng)前線程池中的線程數(shù)量。
getActiveCount()方法:獲取當(dāng)前線程池中正在執(zhí)行任務(wù)的線程數(shù)量。
getCompletedTaskCount()方法:獲取線程池中已完成的任務(wù)數(shù)量。
getTaskCount()方法:獲取線程池提交的任務(wù)數(shù)量。
isShutdown()方法:判斷線程池是否已經(jīng)關(guān)閉。
isTerminated()方法:判斷線程池是否已經(jīng)終止。