2010-01-26 9 views
26

한 응용 프로그램의 최대 스레드 수를 알고 싶습니다.한 응용 프로그램의 최대 스레드 수는 얼마입니까?

Thread.activeCount()는 실행중인 스레드 그룹과 그 하위 그룹에있는 활성 스레드 수를 반환합니다.

현재 활동에서 만들 스레드의 최대 개수를 알 수 있으면 활성 스레드를 제한 할 수 있습니다.

나는 HTTP 연결 및 잡기 HTTP 응답을 위해 스레드를 사용하고 있습니다.

미리 감사드립니다.

+3

답변을 찾았습니까? –

답변

20

내가 알고있는 코드에 의해 시행되는 최대 제한은 없습니다. 즉, 네트워크 I/O에 대해서도 안드로이드 기기의 CPU 속도가 상당히 낮고 RAM이 상당히 제한적이기 때문에 수익 감소가 상당히 빠르게 이루어질 것이라고합니다.

자신의 스레드 대신 AsyncTask을 사용해 보시기 바랍니다. 이것은 Android에 의해 설정된 스레드 풀을 사용하기 때문에 안드로이드 팀이 플랫폼에 대해 유효하다고 생각하는 풀 크기를 사용합니다.

+0

AsyncTask는 훌륭합니다. 일부 안드로이드 버전에서는 두 개의 작업을 병렬로 실행할 수 없으며 (작업은 순차적으로 실행됩니다) 다른 버전에서는 수행 할 수 없습니다. AsyncTask를 소스 코드에서 다시 작성하는 것 말고는 어떤 문제가 있습니까? – Tomasz

+6

@ 토마스 : "소스 코드에서 AsyncTask를 다시 작성하는 것 외에는 문제가 있습니까?" - API 레벨 11+에서'executeOnExecutor()'를 사용하여 THREAD_POOL_EXECUTOR를 선택하십시오. – CommonsWare

+1

또는 특수한 작업을 위해 ThreadPoolExecutor를 사용하십시오. –

관련 문제