한 응용 프로그램의 최대 스레드 수를 알고 싶습니다.한 응용 프로그램의 최대 스레드 수는 얼마입니까?
Thread.activeCount()는 실행중인 스레드 그룹과 그 하위 그룹에있는 활성 스레드 수를 반환합니다.
현재 활동에서 만들 스레드의 최대 개수를 알 수 있으면 활성 스레드를 제한 할 수 있습니다.
나는 HTTP 연결 및 잡기 HTTP 응답을 위해 스레드를 사용하고 있습니다.
미리 감사드립니다.
한 응용 프로그램의 최대 스레드 수를 알고 싶습니다.한 응용 프로그램의 최대 스레드 수는 얼마입니까?
Thread.activeCount()는 실행중인 스레드 그룹과 그 하위 그룹에있는 활성 스레드 수를 반환합니다.
현재 활동에서 만들 스레드의 최대 개수를 알 수 있으면 활성 스레드를 제한 할 수 있습니다.
나는 HTTP 연결 및 잡기 HTTP 응답을 위해 스레드를 사용하고 있습니다.
미리 감사드립니다.
내가 알고있는 코드에 의해 시행되는 최대 제한은 없습니다. 즉, 네트워크 I/O에 대해서도 안드로이드 기기의 CPU 속도가 상당히 낮고 RAM이 상당히 제한적이기 때문에 수익 감소가 상당히 빠르게 이루어질 것이라고합니다.
자신의 스레드 대신 AsyncTask
을 사용해 보시기 바랍니다. 이것은 Android에 의해 설정된 스레드 풀을 사용하기 때문에 안드로이드 팀이 플랫폼에 대해 유효하다고 생각하는 풀 크기를 사용합니다.
AsyncTask는 훌륭합니다. 일부 안드로이드 버전에서는 두 개의 작업을 병렬로 실행할 수 없으며 (작업은 순차적으로 실행됩니다) 다른 버전에서는 수행 할 수 없습니다. AsyncTask를 소스 코드에서 다시 작성하는 것 말고는 어떤 문제가 있습니까? – Tomasz
@ 토마스 : "소스 코드에서 AsyncTask를 다시 작성하는 것 외에는 문제가 있습니까?" - API 레벨 11+에서'executeOnExecutor()'를 사용하여 THREAD_POOL_EXECUTOR를 선택하십시오. – CommonsWare
또는 특수한 작업을 위해 ThreadPoolExecutor를 사용하십시오. –
답변을 찾았습니까? –