1
我剛剛發現下面就Android官方網站代碼:擴展IntentService類
@Override
protected void onHandleIntent(Intent intent) {
// Normally we would do some work here, like download a file.
// For our sample, we just sleep for 5 seconds.
long endTime = System.currentTimeMillis() + 5*1000;
while (System.currentTimeMillis() < endTime) {
synchronized (this) {
try {
wait(endTime - System.currentTimeMillis());
} catch (Exception e) {
}
}
}
}
同時我也閱讀了以下論斷:
- 創建一個默認的工作線程執行交付給所有意圖onStartCommand()與應用程序的主線程分開。
- 創建一次將一個意圖傳遞給onHandleIntent()實現的工作隊列,因此您不必擔心多線程。
因此,如果IntentService使用工作線程,我從來不必擔心多線程,那麼爲什麼我需要在onHandleIntent(...)方法中使用同步塊?謝謝。
非常感謝。 – user1166635 2012-03-27 16:18:11