50K Runnables가 30 분마다 무기한 실행되도록 예약한다고 가정합니다. 각 Runnable은 1-5 초가 걸리고 하나의 Socket 조작을 수행합니다. TheadPool의 크기는 200입니다.효율적인 프로세서 사용으로 예약 된 작업 배포
지금 scheduleWithFixedDelay 호출로 각 50K Runnables의 초기 호출 지연을 결정하는 방법 (또는)이 Runnable을 프로세서 효율적인 방법으로 예약하는 방법.
이러한 종류의 예약을 배포하기위한 표준 알고리즘이 있습니까?
감사합니다.
Executor에서'Runnable' 인스턴스를 던지서 가능한 빨리 처리하도록하십시오. 초기 지연의 목적은 무엇입니까? NB : 많은 I/O 바운드 (?) 연산에 대해 비동기 실행 체계를 사용하는 것이 더 나을 것입니다. – Waldheinz
나는 정말 궁금해서 왜 50,000 개의 Runnables가 필요하겠습니까! – medopal
"효율적인 프로세서 방식"이란 무엇을 의미합니까? 내가 아는 한, 당신은 수동으로 지연을 계산할 필요가 없습니다. 당신은 하나의 스레드가있는 하나의 ScheduledExecutor를 만들고, 두번째는 200 개의 스레드가있는 Executor를 만듭니다. 첫 번째 ScheduledExecutor는 하나의 작업 만 실행합니다. "30 분마다 두 번째 Executor 대기열에 50K Runnables가 저장됩니다." 이것은 당신에게 해결책을 줄 것이다. – BegemoT