2014-08-31 3 views
5

여러 스레드가 동시에 액세스 할 수있는 공유 리소스 풀을 만들고 싶습니다.리소스 풀을 구성하는 데 가장 적합한 스칼라 컬렉션

같은 것을 할 것입니다 각 스레드 : (사용 가능한 자원, 다른 일을하지 않는 경우)

  • 가 가져온 자원

  • 으로 뭔가를 할 풀에서 리소스를 가져

    1. 을 자원을 다시 풀로 리턴하십시오.

    Java에서는 ConcurrentLinkedQueue를 사용합니다.

    스칼라에는 더 좋은 옵션이 있습니까?

  • 답변

    0

    Scala는 Java에서 실행되므로 ConcurrentLinkedQueue를 계속 사용할 수 있습니다. 그것이 당신을 위해 작동한다면, 왜 그것으로 엉망이됩니까?

    +0

    가끔 스칼라 제공 업체가 Java 동시 콜렉션 대신 더 멋진 대안을 제공하기 때문에 그 이유가 있습니다. –

    +0

    네, 맞습니다! 그렇지 않으면 우리가 이미 ConcurrentHashMap을 가지고 있기 때문에 scala guys는 TrieMap을 만들지 않을 것입니다 :) 저는 스칼라에서 아주 간단한 경량의 lock-free 솔루션이있을 수 있는지를 찾고 있습니다. – anuni