201671010130 2016-2017-2 《Java程序設計》第十七周學習小結
阿新 • • 發佈:2017-12-17
zed 第十七 move spa 總結 繼承 兩個 priority 操作
2,每個線程調用該對象的任意方法之後,都將得到正確的結果。
3,每個線程調用該對象的任意方法之後,該對象狀態依然保持合理狀態。
線程學習總結:
- 線程是單個的執行流
- 程序一和程序二的區別在於:當程序一已經有動作時,會對用戶的操作排入隊列,不能同時運行兩個動作,程序二則可以也就是實現了程序的並發性。
- 新建線程有兩個方法:1.用接口實現。2.繼承Thread類。
- 中斷線程:執行完最後一條語句或者執行過程中捕獲了異常,線程終止,讓出cpu的使用權。
- 線程的狀態有7種見P635需要註意每種狀態之間的關系,當調用什麽方法時可以改變線程的狀態。(線程狀態實現了各線程輪流使用cpu)
- getname()獲得線程名字 getpriority()獲得優先級
- 競爭使用cpu時線程的動態執行特征,並發性,對資源進行充分的使用。共享資源還有對內存的競爭。
- 程序分為四個模塊(ball,ballcomponent,bounceframe,bounce)
從ball類(新建了一個2d橢圓形,定義了move方法)
Ballcomponent類()
Bounce程序應對用戶的操作會排入隊列中,事件響應完以後再響應下一個,程序串行,
BounceThread程序,以線程線索所執行,addball中事件響應動作被定義為線程,並發性
- 實現同步機制有兩個方法:
1,同步代碼塊:
synchronized(同一個數據){} 同一個數據:就是N條線程同時訪問一個數據
2,同步方法:
public synchronized 數據返回類型 方法名(){}
1,該類的對象可以被多個線程安全的訪問。
2,每個線程調用該對象的任意方法之後,都將得到正確的結果。
3,每個線程調用該對象的任意方法之後,該對象狀態依然保持合理狀態。
201671010130 2016-2017-2 《Java程序設計》第十七周學習小結