Мне просто интересно, возникнет ли конфликт, если два сервисных намерения будут отправлены одному и тому же сервису одновременно. Мой код, как показано ниже:
public static class UpdateService extends Service {
@Override
public void onStart(Intent intent, int startId) {
int widgetId = intent.getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID,
AppWidgetManager.INVALID_APPWIDGET_ID);
UpdateThread updateThread = new UpdateThread();
updateThread.mWidgetId = widgetId;
updateThread.mContext = this;
updateThread.start();
stopSelf();
}
}
Предположим, что есть два намерения, намерение 1 и намерение 2, для UpdateService одновременно. Как я понимаю, будет только один экземпляр UpdateService. Тогда, будут ли эти два намерения вызывать последовательный запуск служебного кода, как в рабочем процессе ниже?
- UpdateService запускается, то есть вызывается onStart () для намерения 1.
- UpdateService останавливается, потому что stopSelf () вызывается в onStart ().
- UpdateService запускается, т.е. вызывается onStart () для намерения 2.
- UpdateService останавливается, потому что stopSelf () вызывается в onStart ().
Могут ли эти два намерения заставить код службы, т.е. onStart (), выполняться одновременно? Нужно ли помещать синхронизированный в определение метода onStart ()?
Спасибо.