最原始的方式,當我們要并行的或者異步的執(zhí)行一個任務的時候,我們會直接使用啟動一個線程的方式,如下面所示:
new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub 這里放你要執(zhí)行的方法 } }).start();
但是像上面或者類似這種每次來都是用new 一個Thread出來的方式存在著很多的弊端,如下面:
每次new Thread新建對象性能差;
線程缺乏統(tǒng)一的管理,可以無限制新建線程,相互之間競爭,還可能占用過多系統(tǒng)資源導致死機或者OOM(Out of Memory);
缺乏更多的功能,如定時執(zhí)行、定期執(zhí)行、線程中斷等。
二、線程池
為了解決這些問題,Jdk1.5之后加入了java.util.concurrent包,這個包中主要介紹java中線程以及線程池的使用。為我們在開發(fā)中處理線程的問題提供了非常大的幫助。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26