두 표현식 사이에 실제 (의미) 차이가 없습니다.
"반응"이 돌아 오지 않고 "반복"이 몸을 다시 처음부터 다시 호출하는 기능이기 때문에 "반응"과 "while (true)"를 "수신"에 맞추는다고합니다. 이것은 내가 근원에서 공제 한 것입니다 - 저는 사용 된 "andThen"을 정말로 잘 모릅니다). "받기"는 풀에서 스레드 하나를 차단합니다. "반응"하지 않습니다. 그러나, "반응"을 위해 함수가 첨부 될 수있는 스레드가 조회됩니다.while (true)과 loop의 차이점은 무엇입니까?
질문 : "수신"과 함께 "루프"를 사용할 수없는 이유는 무엇입니까? 또한 "while (true)"변종보다 다르게 (그리고 더 좋습니다!) 행동하는 것처럼 보입니다. 적어도 이것이 프로파일 러에서 관찰하는 것입니다. "-Dactors.maxPoolSize = 1 -Dactors.corePoolSize = 1"로 "while (true)"및 "receive"블록 (즉, 내가 기대하는 것)을 사용하여 탁구를 호출하는 것이 더 이상합니다. "루프"와 "수신", 문제없이 작동 - 하나의 스레드에서 -이게 어때?
감사합니다.
iirc 반응과 수신 사이의 차이는 반응 수신 중에 스레드가 조금 더 똑똑하고 만족스럽지 않을 때 발생합니다. – Schildmeijer
감사합니다. 질문에 대한 정보를 추가했습니다. (참) 및 루프와 이동 사용 패턴 : 수신 -> 동안 (사실), react-> 루프. 나를 위해, 수신 -> 루프도 작동하고 더 나은 것 ... – Ice09