dapper官網(wǎng) handler機(jī)制和異步任務(wù)的區(qū)別?
handler機(jī)制和異步任務(wù)的區(qū)別?使用的優(yōu)點(diǎn):l簡單、快速、l進(jìn)程可控使用的缺點(diǎn):l當(dāng)使用多個(gè)異步操作和UI更改時(shí),它會變得更加復(fù)雜。2處理程序的異步實(shí)現(xiàn)原理及其適用的優(yōu)缺點(diǎn)在實(shí)現(xiàn)異步處理程序時(shí),涉
handler機(jī)制和異步任務(wù)的區(qū)別?
使用的優(yōu)點(diǎn):l簡單、快速、l進(jìn)程可控使用的缺點(diǎn):l當(dāng)使用多個(gè)異步操作和UI更改時(shí),它會變得更加復(fù)雜。2處理程序的異步實(shí)現(xiàn)原理及其適用的優(yōu)缺點(diǎn)在實(shí)現(xiàn)異步處理程序時(shí),涉及處理程序、循環(huán)器、消息、線程四個(gè)對象。異步過程是主線程啟動(dòng)thread(子線程)和thread(子線程)運(yùn)行并生成message-a looper,以獲取消息并將其傳遞給處理程序。處理程序逐個(gè)獲取循環(huán)器中的消息并更改UI。優(yōu)點(diǎn):l結(jié)構(gòu)清晰,功能定義清晰,l用于多個(gè)后臺任務(wù),簡單明了
~],沒有區(qū)別?有個(gè)主意
!從主線程新線程開始一個(gè)分支線程
使用delegate執(zhí)行要在分支線程中操作的方法,
使用BeginInvoke執(zhí)行修改后的委托,得到IAsyncResult的結(jié)果
并始終判斷IAsyncResult的iscompleted
如果執(zhí)行完成,使用endinvoke得到結(jié)果異步操作,然后使用主線程上的invoke執(zhí)行來顯示結(jié)果
(應(yīng)該是主線程,只做一件事,打開一個(gè)線程。異步調(diào)用和等待異步結(jié)束,都是分支線程做的,所以主線程不會裝死,當(dāng)主線程顯示結(jié)果時(shí),直接操作是有問題的,應(yīng)該是跨線程的!(僅調(diào)用)