1. 程式人生 > >20165208 2017-2018-2 《Java程序設計》第八周學習總結

20165208 2017-2018-2 《Java程序設計》第八周學習總結

ins 內容 參考 www. .html upd int 第四周 不同

20165208 2017-2018-2 《Java程序設計》第八周學習總結

教材學習內容總結

第十二章

線程狀態

  • 創建線程對象
  1. 利用Thread類或子類直接創建:Thread(Runnable target)創建線程,獲取當前線程對象,getName()返回線程的名稱。
  2. 使用Runnable接口:相較於Thread更靈活
  • 運行

    run()方法規定具體使命
  • 中斷
  • 死亡

線程的常用方法

  • start():啟動線程,只有新建的線程才可以調用
  • run():定義線程對象被調度後所執行的操作,是系統自動調用而用戶不得引用的方法,需創建Thread類的子類重寫覆蓋原來的方法。
  • sleep(int millsecond)
    :使優先級高的自動放棄cpu資源
  • isAlive():新建及死亡狀態返回false,run()開始運行到結束之前調用返回true
  • currentThread():返回正在使用cpu的線程
  • interrupt():重啟動休眠的線程

線程同步

synchronized 修飾方法,則調用時須遵守同步機制

線程聯合

join().B 使A聯合B,即A線程中斷執行直至B完成

GUI線程

GUI:圖形用戶界面

主要涉及AWT-EventQuecue(負責處理GUI事件)和AWT-Windows(負責將窗體或組件繪制到桌面)

計時器線程

Timer(int a,Object b)創建計時器,Timer類的start()

啟動線程,stop()停止,restart()重啟恢復線程

教材學習中的問題和解決過程

問題一:p366提到在創建線程時,Runnable類比Thread子類更具有靈活性,但是不是很懂Runnable類要怎麽用。

解決方法一:通過上網查閱資料學習,了解到實現Runnable接口的類必須使用Thread類的實例才能創建線程。通過Runnable接口創建線程分為兩步:

  1. 將實現Runnable接口的類實例化。
  2. 建立一個Thread對象,並將第一步實例化後的對象作為參數傳入Thread類的構造方法。

代碼托管

技術分享圖片

上周考試錯題總結

  1. 下面的選項不是關系數據庫基本特征的是

    A.不同的列應有不同的數據類型

    B.不同的列應有不同的列名

    C.與行的次序無關

    D.與列的次序無關

    正確答案為A,該項不屬於關系數據庫的基本特征
  2. 下列屬於數據操作語言的是

    A.insert

    B.update

    C.create

    D.select

    此題為多選,除了update外,insert也屬於數據操作語言

其他(感悟、思考等,可選)

這一章主要學習了線程,多線程作為Java的特點之一,但是並不是指多個事件被同時處理,而本章的知識也更貼近具體問題,可以用來更好的表達及解決實際問題。

參考資料

  • 《Java2 實用教程(第五版)》學習指導

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一周 36/36 4/4 30/30
第二周 464/500 1/5 18/48
第三周 832/1332 2/7 17/65
第四周 939/2271 2/9 17/65
第五周 1163/3434 1/10 17/65
第六周 1176/4610 1/11 15/65
第七周 864/5474 2/12 15/80
第八周 703/6177 2/14 15/80

20165208 2017-2018-2 《Java程序設計》第八周學習總結