2014-03-30 3 views
1

두 개의 intentservices : IntentServiceAIntentServiceB이 있습니다. IntentServiceA 동안두 개의 다른 intentservices를 동시에 실행할 수 있습니까? OS가 두 번째 의도 서비스를 시작하기 전에 첫 번째 intentservice가 중지 될 때까지 기다릴 수 있습니까?

가 실행되고 내가 startService(IntentServiceB)를 호출하는 경우 것 IntentServiceB 실행 동시에 IntentServiceA 또는 그것은 IntentServiceA 정지까지 기다려야합니까?

Asynctasks 인 경우 AsyncktaskBAsynctaskA이 끝날 때까지 시작되지 않습니다. 그러나 IntentService의 경우이 시나리오에 대한 설명서를 찾을 수 없습니다.

답변

0

the IntentService source code을 간략하게 살펴보면 각 IntentServiceHandlerThread이 있어야하며 동시에 실행되어야 함을 나타냅니다. 즉, 나는 이것을 시도한 것을 상기하지 않는다.

+0

'@ CommonsWare' : 두 개의 Asynctask가 있습니다. AsynctaskA 및 AsynctaskB. AsynctaskA는 AsynctaskB보다 우선 순위가 높습니다. AsynctaskA가 끝날 때까지 AsynctaskA가 기다리는 것을 원하지 않습니다. 그래서 AsynctaskB가하는 작업과 동일한 작업을 수행하기 위해 IntentServiceB를 만들었습니다. 하지만 IntentServiceA는 애플리케이션이 GCM을 수신하고 IntentServiceB보다 높은 우선 순위를 갖고 IntentServiceB가 끝날 때까지 기다리지 않아도되는 IntentServiceA를 가지고 있기 때문에 의심 스럽습니다 (따라서 문제). 그러므로 물었다. 빠른 답변 주셔서 감사합니다. – achavan804

+0

@ achavan804 : "AsynctaskA가 끝날 때까지 AsynctaskA가 기다리는 것을 원하지 않습니다."- executeOnExecutor()를 사용하면 그렇지 않습니다. – CommonsWare