Multiple?병렬? executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR)

Posted by ITPangPang
2016. 7. 26. 22:41 안드로이드(android)/개발중 생긴일


Multiple?병렬?

executeOnExecutor
(AsyncTask.THREAD_POOL_EXECUTOR)


ㆍ 오늘은 Background 작업해야 할 게 생겨서 서비스를

    돌릴까 하다가.. 앱이 꺼졌을때는 굳이 돌릴 필요가 없어서

    AsyncTask로 처리하려고 했는데 뭔가 동시에 작업이 안되는

    것이다. 


ㆍ Async 하나 실행시켜서 뒷단으로 원하는 값 얻을때까지 무한으로 돌리는 중이었는데, 

    이게 뒷단에서 돌아가는 도중에 서버와 통신하려고 다른 Async를 실행시키면 서버통신이 안되는 것이었다.

    그리고 먼저 실행시켰던 Async가 끝나야 그 후에 바로 서버랑 통신이 되는 것이었다.



그래서 

아 골치아프겠구나

생각했는데 찾아보니

생각보다 간단했다.


HelloAsyncTask helloAsyncTask = new HelloAsyncTask();

helloAsyncTask.execute();

    

보통은 대충 

이렇게 쓰는데


아래껄 이렇게 바꾸니까

병렬적으로 동시에

Async 작업이 가능했다.


HelloAsyncTask helloAsyncTask = new HelloAsyncTask();

helloAsyncTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR,"");


뭐 SDK 허니콤이상에서

써야되서 버전별로

처리를 해야되는데



요즘 허니콤 본적이 

거의 없어서


그냥 안썼다.

허니콤 보게 되면

추가 시켜야겠다.