executors建立執行緒池的小測試

2022-05-18 20:41:46 字數 1079 閱讀 6545

1.newcachedthreadpool

建立乙個可快取執行緒池,如果執行緒池長度超過處理需要,可靈活**空閒執行緒,若無可**,則新建執行緒。

2.newfixedthreadpool

建立乙個定長線程池,可控制線程最大併發數,超出的執行緒會在佇列中等待。

3.newscheduledthreadpool 

建立乙個定長線程池,支援定時及週期性任務執行。

4.newsinglethreadexecutor 

建立乙個單執行緒化的執行緒池執行任務。

//建立四種執行緒池的實體

//例項化執行緒1

public

class

catch

(exception e)

}};

//例項化執行緒

2

private  runnable myrunnablesleep = new

runnable()

catch

(exception e)

}};

@test

public

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...