(1
)asynctask
是乙個工具類,它封裝了
android
中訊息模型的的應用過程,用於簡化訊息傳遞及處理的方式,此類是乙個抽象類,它內部定義的方法有的定義主線程,有的執行在工作執行緒,我們在使用此類時,通常要根據需要重寫其中方法。 (2
)當我們在執行非同步任務時,要構建非同步任務物件,然後呼叫物件的
execute***
方法執行任務。
(1)doinbackground 執行在工作執行緒
(2)onpreexecute 執行在主線程,在
doinbackground
之前執行
(3)onprogressupdate 用於執行進度更新操作,它工作在主線程
(4)onpostexecute 執行在主線程,在
doinbackground
方法之後執行
(5)publishprogress 發布進度
public class mainactivity extends activity catch(exception e)finallycatch(exception e){}
if(out!=null)trycatch(exception e){}
//將陣列中的內容轉換為
bitmap
物件
return bitmapfactory.decodebytearray(array,0, array.length);
/**此方法用於執行進度更新操作,它工作在主線程
*/-----------
更新進度
@override
protected voidonprogressupdate(integer... values) catch(exception e){}
return get(7);
//get方法為乙個阻塞式方法,需要等待任務的執行結果
system.out.println(f.get());//此方法需等任務執行結束
es.shutdown();
public static int get(int n)catch(exception e){}
return null;
public void downtask(final int position)catch(exception e){}
public class threadpooldemo03 , 3, timeunit.seconds);//延遲
3秒以後執行
es.schedule(new callable(), 8, timeunit.seconds);//延遲
8秒以後執行
es.shutdown();
public class threadpooldemo05 ,//command任務
runnable
1,//initialdelay初始延遲
1,//period 時間間隔
(兩次任務啟動的間隔時間
,不管上一次任務是否已經結束
) timeunit.seconds);//unit 時間單位
//重複性的執行任務
es.schedulewithfixeddelay(new runnable() ,//command
1,//initialdelay
1,//delay(任務執行結束以後再延遲
delay
時間開啟下一次任務
) timeunit.seconds);//unit
基本同上!
多工程式設計 程序和執行緒day1
多工 實現方式 匯入模組 import multiprocessing 建立乙個程序物件 a multiprocessing.process target 函式名 啟動建立好的程序 a.start 多執行緒 實現步驟 匯入模組 import threading 建立乙個程序物件 a threadin...
覆盤Spring中定時任務和非同步執行緒池
專案中最近使用了多個定時任務處理業務需求,於是在實現業務邏輯過程中,產生了上圖一些思考和疑問,現在利用空餘時間進行一次覆盤。component public class scheduledtask scheduled cron 0 1 public void scheduledtask2 相同定時任...
day24總結 多執行緒和設計模式
jdk5以後的針對執行緒的鎖定操作和釋放操作 定義鎖物件 private lock lock new reentrantlock 加鎖 lock.lock 釋放鎖 lock.unlock 死鎖問題的描述和 體現 死鎖 兩個或兩個以上的執行緒在爭奪資源的過程中,發生的一種相互等待的現象。public ...