저는 기본적으로 평균을 수행하는 스칼라 액터 구현이 있습니다. 나는 총과 수를 유지하는 항목을 밀어 평균을 계산한다. 무슨 일이 벌어지는지는 테스트 중에 단단한 루프에서 이것을 실행하면 항목이 누락되며 마지막 항목이라고 생각합니다. 배우는 다음과 같이이다 :스칼라 액터 및 드롭 된 엔트리
val actor = new Actor { def act = react {
case v: Long => addEntry(v); act
case _ =>()
}}.start()
편집 : addEntry의 구현은 이것이다 :
private def addEntry(v: Long) {
total = total + v
count = count + 1
avg = total/count
}
및 추가 기능은 기본적으로 actor ! 10
하고 그래서 내가 시험에 정지를 호출 한 후
Edit2 : 기본적으로, 저는 지금 당장이 값을 엄격한 루프에 설정하고 나서 즉시 종료를 호출했기 때문에 마지막 항목 또는 항목이 처리 중이거나 삭제되지 않았습니다. 내가 루프의 끝 사이에 작은 잠을 넣어 (실제로는 CountDownLatch.await 및 actor.stop 그리고 지금은 테스트가 실패 할 수 없습니다.
는
'addEntry (v)'의 구현과 어떻게 액터에 메시지를 제출할 수 있습니까? –