2013-06-04 3 views
2

는 현재 우리가 사용 선물을 스칼라로 운영하는 가장 효율적인 방법은 무엇입니까?

val simpleOps: ExecutionContext = Akka.system(app).dispatchers.lookup("akka.actor.simple-ops") 

그런 다음 우리는 우리가 만들 때이 가져올 우리의 미래를 구성 묵시적. 그 외에는 현재 Akka를 사용하지 않습니다.

ExecutionContext를 가져 오는 더 쉬운 방법이 있지만 일반적인 Java ExecutorService보다 약간 성능이 좋은 Java 포크/조인 풀을 통해 실행될 것인지 확신 할 수 없습니다.

Akka가 FJP에서 제공하는 ExecutionContext를 얻을 수있는 유일한 방법입니까? Akka FJP MessageDispatcher와 같이 실행 가능한 ExecutionContext를 얻는 다른 방법이 있습니까?

답변

4

스칼라 선물은 이미 ForkJoinPool을 사용하고 있습니다 (특히, 그들은 자바의 ForkJoinPool의 스칼라 특정 포크를 사용합니다).

는 특히

https://github.com/scala/scala/blob/v2.10.1/src/library/scala/concurrent/impl/ExecutionContextImpl.scala#L1를 참조 DefaultThreadFactoryForkJoinPool.ForkJoinWorkerThreadFactory을 확장하는주의 사항 :

class DefaultThreadFactory(daemonic: Boolean) extends ThreadFactory with ForkJoinPool.ForkJoinWorkerThreadFactory 
+0

쿨, 리스폰스 주셔서 감사합니다. 당신은 여전히 ​​이것을 위해 Akka 디스패처를 사용할 어떤 점이 있습니까? –

+1

선물을 사용한다면 아마 그렇지 않을 것입니다. –

관련 문제