나는 방해가되는 동작을 발견했습니다. for 루프에서 사용되는 범위는 하지 평행 일 때스칼라 : 개체 이니셜 라이저의 병렬 컬렉션으로 인해 프로그램이 중단됩니다.
object ParCollectionInInitializerTest {
def doSomething { println("Doing something") }
for (i <- (1 to 2).par) {
println("Inside loop: " + i)
doSomething
}
def main(args: Array[String]) {
}
}
이 프로그램은 완벽하게 무죄와
다음과 같은 출력이 제대로 실행 : 의 내가 단독 객체로 구성된 독립 프로그램이 있다고 가정 해 봅시다 :
루프 내부: 1
을하는 병렬 컬렉션 사용시
이렇게 뭔가
루프 내부 : 2
뭔가
불행하게도, 프로그램은 이제까지 해봐요 메소드를 호출하지 않고 중단되므로 출력은 다음과 같다 : 루프 내
2
루프 내 1
그리고 프로그램이 중단됩니다.
이것은 그냥 심한 버그입니까? scala-2.10을 사용하고 있습니다.
관련 : http : // stackoverflow.com/questions/27549671/java-static-initializers 진단 또는 교착 상태 교착 상태 – Rich