반응형
미래를 위해 미세 조정 된 스레드 풀을 구성하는 방법은 무엇입니까?
Scala의 선물 스레드 풀은 얼마나 큽니까?
내 Scala 애플리케이션은 수백만 개의 future {}
s를 생성하며 스레드 풀을 구성하여 최적화 할 수있는 방법이 있는지 궁금합니다.
감사합니다.
전역 암시 적 ExecutionContext를 가져 오는 대신 퓨처가 실행될 자체 ExecutionContext를 지정할 수 있습니다.
import java.util.concurrent.Executors
import scala.concurrent._
implicit val ec = new ExecutionContext {
val threadPool = Executors.newFixedThreadPool(1000)
def execute(runnable: Runnable) {
threadPool.submit(runnable)
}
def reportFailure(t: Throwable) {}
}
이 답변은 수락 된 답변의 의견 인 monkjack의 것입니다. 그러나이 훌륭한 답변을 놓칠 수 있으므로 여기에 다시 게시하고 있습니다.
implicit val ec = ExecutionContext.fromExecutor(Executors.newFixedThreadPool(10))
스레드 풀 수만 변경해야하는 경우 전역 실행기를 사용하고 다음 시스템 속성을 전달하면됩니다.
-Dscala.concurrent.context.numThreads=8 -Dscala.concurrent.context.maxThreads=8
스칼라 선물에서 스레드 풀을 지정하는 가장 좋은 방법 :
implicit val ec = new ExecutionContext {
val threadPool = Executors.newFixedThreadPool(conf.getInt("5"));
override def reportFailure(cause: Throwable): Unit = {};
override def execute(runnable: Runnable): Unit = threadPool.submit(runnable);
def shutdown() = threadPool.shutdown();
}
참고 URL : https://stackoverflow.com/questions/15285284/how-to-configure-a-fine-tuned-thread-pool-for-futures
반응형
'Programing' 카테고리의 다른 글
클릭 할 때 Android에서 버튼의 색상을 변경하는 방법은 무엇입니까? (0) | 2020.10.18 |
---|---|
결과를 쉼표로 구분 된 목록으로 반환하는 PostgreSQL 쿼리 (0) | 2020.10.18 |
신속하게 UIColor를 CGColor로 변환 (0) | 2020.10.18 |
우편 배달부에서 파일 및 json 데이터를 업로드하는 방법 (0) | 2020.10.18 |
이메일 전송 테스트 (0) | 2020.10.18 |