2011-01-09 5 views
2

시스템에서 실행중인 스레드의 제한된 수를 설정하고 메모리 및 CPU 사용을 최적화 할 수있는 솔루션이 필요합니다 (예 : 알려진 총 스레드 스택 메모리보다 메모리 크기가 커지지 않음) 등Java의 스레드 관리

해당 또는 타사 라이브러리에 대한 원시 Java 기술이 있습니까? 당신은 바운드없이 성장 개별 스레드 크기에 대해 걱정할 필요가 없습니다

감사

+0

고정 크기 스레드 풀을 사용하는 것 외에도 필요하지 않은 스레드 사용에 대한 제한을 설정하려고 할 수 있습니다. 이러한 제한을 적용하려는 이유와 이러한 제한에 도달하면 발생할 것으로 예상되는 것에 대해 설명 할 수 있습니까? –

답변

2

스레드 스택의 크기는 자바에서 상수이다.

많은 스레드에서 작업을 수행하려는 코드를 작성하고 주어진 스레드 수 이상을 사용하지 않으려는 경우 fixed thread count executor과 같은 것을 사용할 수 있습니다.

다른 제어 권한이없는 프로그램의 스레드 수를 제한 하시겠습니까? 아마도 각 운영 체제마다 특별한 것을해야 할 것입니다. 예를 들어 Linux는 프로세스 별 스레드 제한이 없습니다 (모든 프로세스에 공통적 인 전역 제한 만 있음).

2

"프로세스 계정"이라는 항목을 검색하는 것처럼 보이지만 스레드 만 검색합니다. 하나의 JVM에서 이것은 불가능합니다. 모든 쓰레드는 JVM의 모든 메모리를 소비 할 수 있으며, 우선 순위를 가장 높은 값으로 설정하면 JVM의 다른 쓰레드에서 CPU를 "훔칠"수 있습니다.

관련 문제