close

回顧Java當中的線程概念

1. 線程的二種實現方式:繼承Thread(其代表的是線程)或實現Runnable接口(其只僅代表線程體,即線程需執行的程式碼)

2. 線程的生命週期:創建線程à調用線程start的方法à線程進入就緒狀態à搶到CPU就可進入到運行狀態à如被其它的線程搶走CPU或進入阻塞狀態(sleep方法),則進入就緒狀態à一直反覆,直到線程體執行完,則該線程就算是執行完了à線程進入死亡狀態。

※當一個線程進入死亡狀態的話,就不可能再復活了。

3. 多線程同步(即同步代碼塊),用於解決多線程同時執行與使用同一資源所可能會產生的誤差之問題。而同步時,只允許一個線程來使用該資源。

 

Android當中的線程介紹 - Main Thread(/UI線程)Worker Thread(其它線程)

1. 可在Main Thread中生成多個Worker Thread,且其主要用於運行UI相關之程式碼的操作

2. Worker Thread原則上不允許操作UI,而其主要用於處理運算之相關內容。

3. 大多數的情況下,要修改View的話,需在主線程中,而非在Worker Thread。除非是修改ProgressBar的進度之特殊情況。

 05_activity_main-TextView.jpg

05_MainActivity-TextView.jpg  

05_Firstproject結果-TextView.jpg 05_控制台結果-TextView.jpg  

 

05_activity_main-ProgressBar.jpg 

 

05_MainActivity-ProgressBar.jpg

05_Firstproject結果-ProgressBar-01.jpg

05_Firstproject結果-ProgressBar-02.jpg  

4. 在一個應用程序當中,主線程通常用於「接收用戶的輸入,與將運算結果返饋給用戶」,所以說對於一些可能會產生阻塞的操作,必須放置在Worker Thread當中

 

arrow
arrow
    創作者介紹
    創作者 Elsa 的頭像
    Elsa

    Elsaの程式學習筆記

    Elsa 發表在 痞客邦 留言(0) 人氣()