1.newcachedthreadpool
建立乙個可快取執行緒池,如果執行緒池長度超過處理需要,可靈活**空閒執行緒,若無可**,則新建執行緒。
2.newfixedthreadpool
建立乙個定長線程池,可控制線程最大併發數,超出的執行緒會在佇列中等待。
3.newscheduledthreadpool
建立乙個定長線程池,支援定時及週期性任務執行。
4.newsinglethreadexecutor
建立乙個單執行緒化的執行緒池執行任務。
//建立四種執行緒池的實體
//例項化執行緒1
publicclass
catch
(exception e)
}};
//例項化執行緒
2
private runnable myrunnablesleep = newrunnable()
catch
(exception e)
}};
@testpublic
void
testcachedthreadpool() throws interruptedexception
thread.sleep(
100000);}
@test
public
void
testscheduledthreadpool() throws interruptedexception
@test
public
void
testsinglethreadexecutor() throws interruptedexception
thread.sleep(
20000);}
@test
public
void
testfixedthreadpool() throws interruptedexception
thread.sleep(
200000
); }
}
executors建立執行緒池
private static final executor exec executors.newfixedthreadpool 50 runnable runnable new runnable exec.execute runnable callablecallable new callable ...
Executors建立執行緒池
兩個靜態方法 executorservice exec executors.newcachethreadpool 這個方式會為每個任務建立乙個執行緒。executorservice exec executors.newfixedthreadpool 10 建立10個執行緒的執行緒池。執行某個實現ru...
執行緒池 Executors類建立執行緒池
executors靜態工廠建立幾種常用執行緒池 1.建立了乙個固定執行緒數量的執行緒池,可以控制線程最大併發數,超出的執行緒會在佇列中等待。newfixedthreadpool int nthreads 執行緒池中線程數量是要指定傳入的,注意在固定大小的執行緒池中使用的阻塞佇列是linkedbloc...