두 개의 서비스 인 텐트가 같은 서비스에 동시에 전송되는 경우 충돌이 있는지 궁금합니다. 내 코드는 다음과 같습니다.동일한 서비스에 대한 두 개의 서비스 의도로 인해 충돌이 발생할 수 있습니까?
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();
}
}
동시에 UpdateService에 2 개의 의도, 의도 1 및 의도 2가 있다고 가정합니다. 이해할 수 있듯이 하나의 UpdateService 인스턴스 만있을 것입니다. 그런 다음 두 가지 의도로 인해 서비스 코드가 아래 워크 플로와 같이 순차적으로 실행됩니까? stopSelf()가 호출 ONSTART 때문에 UpdateService 시작
- , 즉 ONSTART()가 UpdateService 중지 의도 1.
- 위해 호출된다().
- int2에 대해 updateService가 호출됩니다. 즉, onStart()가 호출됩니다.
- onStart()에서 stopSelf()가 호출되기 때문에 UpdateService가 중지됩니다.
두 가지 의도로 인해 서비스 코드, 즉 onStart()가 동시에 실행될 수 있습니까? onStart() 메소드 정의에 synchronized를 넣어야합니까?
감사합니다.
답변 해 주셔서 감사합니다. 그것은 매우 도움이됩니다. – user256239