最近開始做安卓專案,然而對多執行緒的理解和應用還是欠缺,最近就系統的學習一下
public
class
testthreadactivity
extends
baseactivity
private
void
initviews()
});}
private
class
mytask
extends
asynctask
@override
protected object doinbackground
(object[
] objects)
catch
(exception e)
publishprogress
(count);}
return null;
}@override
protected
void
onprogressupdate
(object[
] values)
@override
protected
void
onpostexecute
(object o)
@override
protected
void
oncancelled()
}private
void
testdatass()
//繼承thread方式生成新的子執行緒
private
class
mythreade
extends
thread
}//實現runable藉口的子執行緒
private
class
myrunable
implements
runnable
}private
void
test1()
catch
(exception e)
//切換到主線程操作
runonuithread
(new
runnable()
});}
}).start()
;final button btn1 =
findviewbyid
(r.id.btn_test1)
;new
thread
(new
runnable()
});//主線程更新ui,帶延時
btn1.
postdelayed
(new
runnable()
},1*
1000);
}}).
start()
;}//handler(子執行緒呼叫handler的
@suppresslint
("handlerleak"
)private handler handler =
newhandler()
};private
class
myhthread
extends
thread
catch
(exception e)
message msg =
newmessage()
; handler.
sendmessage
(msg)
;super
.run()
;}}private
void
testasytask()
// 輕量級非同步類
private
class
asytask
extends
asynctask
catch (exception e)
// }
//執行任務前操作
@override
protected
void
onpreexecute()
//後台執行緒執行時,可以在執行過程中呼叫publishprogress() 更新進度資訊
@override
protected object doinbackground
(object[
] objects)
//上面的 publishprogress() 呼叫之後,自動呼叫
@override
protected
void
onprogressupdate
(object[
] values)
//後台執行緒執行結束後的操作,其中引數result為doinbackground返回的結果
@override
protected
void
onpostexecute
(object o)
//非同步任務被取消時候自動呼叫
@override
protected
void
oncancelled()
}}
Android 多執行緒
1 簡介 2 android 平台下的多執行緒 package com.powerise.thread import android.os.bundle import android.view.view import android.view.view.onclicklistener import ...
Android 多執行緒
1,常用的thread 和running的方法 public static void thread thread.start private static void running thread thread new thread runnable thread.start private stat...
android學習 多執行緒
一建立執行緒的兩種方法 1 通過thread類的構造方法建立執行緒 thread runnable runnable 該構造方法的引數runnable可以通過建立乙個runnable類的物件並重寫其run 方法來實現,例如 thread thread new thread new runnable ...