標籤:java
建立線程的方式
--------------------------------------
1. 繼承 Thread 類。
2.實現Runnable介面。
1)、通過Thread類建立線程,並把實現Runnable介面的了類對象做為參數傳遞給Thread類的建構函式。Thread類調用start()方法啟動線程。
3.線程調用了start方法並不立即執行,而是處於就緒狀態,等待cpu的執行權。
4.線程的安全問題。
線程同步
------------------------------------------------
1.線程同步:synchronized(對象){..需要同步的代碼塊..}。此處的“對象”是任意類的對象。該對象如同鎖的功能。
2.線程同步的前提:
1)同步需要兩個或者多個線程。
2)多個線程使用同一個鎖
3.同步會降低程式的運行效率。因此同步中的代碼盡量的短。
4.同步方法用的是方法所在對象的鎖。
線程等待(wait)
--------------------------------------
1.當線程調用wait後,線程釋放cpu使用權後處於等待狀態,當再次擷取cpu使用權後,代碼從wait後面執行。
線程的優先順序
---------------------------
1.setPriority(); //設定線程的優先順序
2.getPriority(); //擷取線程的優先順序
3.優先順序高的擷取cpu的機率大一些。
線程狀態轉換圖
------------------------------------------------
650) this.width=650;" src="http://note.youdao.com/yws/res/211/502D74341A9E4DD69C0813D76A3A6924" style="margin-top:8px;height:566.737px;width:800px;" alt="502D74341A9E4DD69C0813D76A3A6924" />
strng
---------------------------------------------------
1.“==”是判斷兩個字串對象的記憶體位址是否相等
2.“equal”是判斷兩個字串對象的內容是否相等
3.StringBuffer是安全執行緒的。效率比較低。StringBuilder是後來加的一個類,是線程不安全的,效率高。
4.基礎資料型別 (Elementary Data Type)的拆箱和裝箱。
大資料-java基礎-9day