java併發編程/反射/註解學習

一、java反射

二、spring ioc 容器實現bean的幾種方式

 

 

三、java註解體系

 

四、java線程池

Exectors 及ExectorService創建和使用上述線程池

結合上述原理可以查看線程池源碼

線程池的使用

1,使用Exectors創建一個適合業務的線程池,返回的是ExectorService

2,定義線程方法run的實體

3,使用ExectorService.execte(傳入線程池的類),最後線程池執行完,記得exectorService.shutdown();關閉

最終打印的線程池名字就是1,2,3個

 

帶返回值的多線程

或者如下

futureTask其實也是一個線程,只不過他可以通過get()這個阻塞的方法獲取線程池返回的值。

callable接口,就一個call方法。

futureTask類關係如下

runnablefuture就一個run方法, future主要是任務的生命週期。

線程池的釋放,當超時或者run()方法執行完時,釋放部分非核心線程,直到釋放的線程數達到核心線程時,暫停釋放了。

創建的線程使用set集合存儲,線程間使用連表關聯,next()是下一個線程。

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章