new ASyncTask().execute(new String[] { URL, URL2, URL3 });
이런식으로 진행하여서 동시에 데이터를 받아옵니다.
질문1. 어떤 답변을 보니 멀티스레드 같지만 사실은 순차적 싱글스레드 방식으로 동작한다.
이게 사실인가요??
protected String doInBackground(String... urls) {
String output = null;
for (String url : urls) {
output = getOutputFromUrl(url);
Log.i("TAG", ".................................................."+output);
}
return output;
}
for 문을 돌면서 진행을 하구요..
@Override
protected void onPostExecute(String result) {
int count = result.length;
showDialog(int+"개의 데이터를 받아왔습니다");
}
이런식으로 doinback 이후 처리과정을 쓰구요.
질문2. 저런방법이면 URL1. 2. 3. 에 모두 onpostExecute 가 작동하여
showDialog 가 3번뜨게 됩니다.(겹쳐서)
3개의 Tread 가 모두 종료되면 > 이벤트 발생 (이후 showDialog 실행) 을해서
이름데이터 : 3개
부서데이터 : 10개
기타 데이터 : 0개
이런식으로 한개의 다이얼로그를 띄우고싶은데...
좋은방법이 있다면 부탁드리겠습니다.
모든 Tread 의 종료여부를 판단하는 방법이 필요할거 같은데..잘 생각이 안나네요 ㅠ