2013-03-25 1 views

답변

4

이것은 차단 동작입니다.

부록

모든 ... Future에 포장

는 파일 조작 비동기를하지 않습니다,하지만 Future 집행자 서비스/스레드 풀에서 스레드를 묶어 것 JVM에서 실행은 스레드에서 발생합니다. Future을 사용할 때, 캡슐화 된 계산이 발생하는 스레드는 Future을 시작한 스레드와 구별됩니다. 이전 java.io을 사용하면 직접 전화를 걸든 Future으로 넘겨 주든 작업이 차단됩니다.

높은 동시성 시스템을 만드는 것이 목적이라면, 전혀 차단 작업을 수행하지 않습니다. Future 및 액터를 사용하면 I/O 작업 당 스레드의 높은 오버 헤드없이 높은 동시성을 얻을 수 있습니다. I/O 작업 자체가 비 블로킹 인 경우에만.

+0

랜달입니다. 우리는 이것을 잊어 버릴 정도로이 사실을 추상화하는 수업을 가지고 있습니다. 내 대답을 잘못 했으므로 삭제했습니다. 장래에 간단히 랩핑해도 비동기가되지는 않으므로 특별한 논리가 필요합니다. – coltfred

+0

빠른 응답 주셔서 감사합니다, 나는 그것이 의미하는 것이 분명하지는 않지만 "미래의 집행자 서비스/스레드 풀의 스레드를 묶을 것입니다 ..."조금 더 설명 할 수 있습니까? – user776635

+0

또한 이것이 작동하지 않는 것인데, scala에서 비동기 파일 작업을 수행하는 올바른 방법은 무엇입니까? – user776635

관련 문제