5/23/2011

[Android] Synchronized & thread

遇到各個 Thread 之間共用資料保護的問題,就需要使用到Synchronized,Synchronized的使用時機很難定義,比較常見的情況是,當程式中會取出某一個共用的物件且會判斷物件內容值,再更新物件內容,此情況大部分都需要synchronized保護。
總之,學 Java 一定會碰到 Multi-Thread 的問題,因為如果不懂得使用 Multi-Thread,是寫不出什麼實用的程式的,而相對於 Multi-Thread,同步執行的限制就很重要,比如說兩個 Thread 會對一個檔案進行讀寫,那就不能同時進行,這時候就要用到 synchronized 去做限制.

切入程式碼介紹
1.每秒更新時間於 UI VIEW
2. 加入Synchronized =>threadrun時,Start button disable ,  Stop button enable,
1.建立xml
image
2.建立thread
image
改變ui交給handler去做,mythread run時,丟出message去給handler建立callback function,去改變時間狀態,然後在_startMyThread()與_stopMyThread()去updateCmdUI(),send message 丟出message去給handler建立callback function,去判斷thread true or null,假如true時=>start button is disable, 相對的 stop button is enable.
3.button start 與 button stop去引用thread
image
4.對應thread start去建立undateCmdUI(),去建立handler callback function();
image
5.執行結果
image
其實要寫thread程式並不困難,就交給handler去做較好了.

沒有留言:

張貼留言

請留言~一起討論吧~