最原始的方式,當我們要并行的或者異步的執(zhí)行一個任務的時候,我們會直接使用啟動一個線程的方式,如下面所示:

iOS培訓,Swift培訓,蘋果開發(fā)培訓,移動開發(fā)培訓

new Thread(new Runnable() {     @Override     public void run() {         // TODO Auto-generated method stub  這里放你要執(zhí)行的方法     } }).start();

iOS培訓,Swift培訓,蘋果開發(fā)培訓,移動開發(fā)培訓

 

  但是像上面或者類似這種每次來都是用new 一個Thread出來的方式存在著很多的弊端,如下面:

  • 每次new Thread新建對象性能差;

  • 線程缺乏統(tǒng)一的管理,可以無限制新建線程,相互之間競爭,還可能占用過多系統(tǒng)資源導致死機或者OOM(Out of Memory);

  • 缺乏更多的功能,如定時執(zhí)行、定期執(zhí)行、線程中斷等。

二、線程池

  為了解決這些問題,Jdk1.5之后加入了java.util.concurrent包,這個包中主要介紹java中線程以及線程池的使用。為我們在開發(fā)中處理線程的問題提供了非常大的幫助。

延伸閱讀

學習是年輕人改變自己的最好方式-Java培訓,做最負責任的教育,學習改變命運,軟件學習,再就業(yè),大學生如何就業(yè),幫大學生找到好工作,lphotoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網(wǎng)站設計培訓,網(wǎng)站建設培訓學習是年輕人改變自己的最好方式