一、多執行緒
繼承thread,收到單繼承的影響
常用runnable介面,實現run()方法,不能丟擲異常,沒有返回值
實現callable介面,重寫call()方法,可以丟擲異常,有返回值
join:合併兩個執行緒;
eg:執行緒b//暫停本執行緒
sleep:靜態方法,休眠一段時間,不釋放鎖。
1)用在與時間相關:倒計時;
2)模擬網路延遲;
public class countdown
}}}
currentthread:靜態方法。獲取當前執行緒的引用;
setname():設定執行緒名稱;
getname():返回執行緒名稱;
isalive():返回執行緒狀態,true&false;
setpriority設定優先順序,不是絕對的優先順序,而是概率;
同步:(synchronize)
1.同步塊:
synchronize(引用|this|類.class){}
2.同步方法:
(二)、網路程式設計
1.基礎知識:
網路:將不同區域的計算機連線起來。
埠號:計算機內的虛擬概念,用來區分計算機內不同軟體
資源定位:url 統一資源定位器;uri 統一資源識別符號
資料傳輸:tcp/ip協議,udp協議;資料傳輸-資料封裝與恢復
/**注:
*同乙個協議下埠號不能重複,不同協議埠號可以重複
*1024以下的埠不使用(作業系統預留埠)
*tcp協議:類似打**,面向連線,安全可靠,效率低下
*udp協議:類似發簡訊,非面連線,效率高,不安全
*dns:網域名稱解析。將www.baidu.com/172.0.0.10這樣的網域名稱解析
2.inetaddress·:封裝ip及dns
inetaddress addr = inetaddress.getlocalhost();//獲得本地inetaddress物件
system.out.println(addr.gethostaddress());//獲得ip位址
system.out.println(addr.gethostname());//獲得網域名稱
//根據網域名稱獲得inetaddress物件
system.out.println(addr.gethostaddress());//返回ip位址
system.out.println(addr.gethostname());//返回網域名稱
//根據ip位址獲得inetaddress物件
addr = inetaddress.getbyname("111.13.100.91");
system.out.println(addr.gethostaddress());//返回ip位址
system.out.println(addr.gethostname());//為了安全性考慮,如果ip不存在或者dns不解析,則返回自身
3.inetsocketaddress:封裝埠
public static void main(string args)
4.url的組成:協議 網域名稱 埠(http預設為80) 資源檔名
eg;資源基本上都是相對路徑)
public static void main(string args) throws malformedurlexception
java多執行緒學習筆記(二)
8 執行緒的狀態 初始狀態 使用new關鍵字建立乙個執行緒,則執行緒就處理初始狀態。就緒狀態 建立執行緒後,需要我們手動呼叫start方法,來開啟執行緒,start方法會新建乙個執行緒並讓這個執行緒執行run方法。有的同學可能不理解,為什麼不直接呼叫run方法,請記住呼叫run來開啟新執行緒,它只會...
Java多執行緒學習筆記
程序與執行緒 1.程序 執行中的程式 乙個程序至少包含乙個執行緒 2.執行緒 程序中負責程式執行的執行單元 執行緒本身依靠程式進行執行 執行緒是程式中的順序控制流,只能使用分配給程式的資源和環境 3.單執行緒 程式中只存在乙個執行緒,實際上主方法就是乙個主線程 4.多執行緒 在乙個程式中執行多個任務...
java多執行緒學習筆記
1 執行緒是乙個程式內部不同的執行路徑 2 生成執行緒只要能使用介面就不要繼承,繼承後就不能繼承其他的類,比較死。而且繼承的run方法不能丟擲與父類不同的異常。比如sleep的intterruptedexception 3 start方法只是說我準備好了,進入就緒狀態了,等待排程後才進入執行狀態 4...