내가 아는 것에서부터, 다트는 Akka 배우와 같은 것입니다.Dart Isolate vs Akka
그러나 내가 알 수없는 것은 dart:isolate
이 Akka
과 비슷한 용도로 제공되는 경우입니다. 이 둘의 근본적인 차이점이 있습니까?
dart:isolate
은 Akka
처럼 배우 모델 프로그래밍을위한 프레임 워크입니까?
dart:isolate
은 akka보다 scala 배우와 더 비슷합니다.
내가 아는 것에서부터, 다트는 Akka 배우와 같은 것입니다.Dart Isolate vs Akka
그러나 내가 알 수없는 것은 dart:isolate
이 Akka
과 비슷한 용도로 제공되는 경우입니다. 이 둘의 근본적인 차이점이 있습니까?
dart:isolate
은 Akka
처럼 배우 모델 프로그래밍을위한 프레임 워크입니까?
dart:isolate
은 akka보다 scala 배우와 더 비슷합니다.
균주 여러 가지 방법으로 Akka 배우 다릅니다, 즉,
가 분리 된 메모리를 공유하지 않는 단지 유닉스의 프로세스처럼 고립되어 분리가 양산되는 결과로
있습니다 spawn을 사용하면 현재 분리 된 모든 데이터가 중복됩니다.
격리는 수신과 같은 중심적인 방법이 없으므로 더 좋은 방법은 숨겨진 방법이라고 숨겨집니다. 이 방법은 작업을 실행 큐에서 가져 와서 하나씩 실행합니다. 이는 GUI 스레드 작동과 유사합니다. 태스크는 내부에 콜백 메소드로 작성됩니다. 콜백은 다트의 모든 곳에서 사용됩니다.
설명 http://en.wikipedia.org/wiki/Akka_(toolkit)은 Dart 격리 된 것과 유사합니다.
Akka가 고급 버전 인 것 같습니다. 동일한 호스트 또는 다른 호스트에서 격리와 통신하는 경우에는 아직 투명성이 없습니다.
Akka는 어떻게 메모리를 공유합니까? 이것은 (Akka의) Distinguishing Features가 아닌 것처럼 보입니다 ... 동시성은 메시지 기반이고 비동기식입니다. 일반적으로 변경 가능한 데이터는 공유되지 않으며 ... ' –
"일반적으로"프로그래머가 공유 메모리를 사용하지 말아야한다는 것을 의미하지만 Akka가이를 방지 할 수는 없습니다 - http://doc.akka.io/docs/akka/snapshot/general/ jmm.html –
업데이트 해 주셔서 감사합니다. 이것은 자바의 한계로 보인다. isolates의 경우 이것은 기본적으로 해결되지만 int/double/String/List/Map이나 List 또는 Maps와 같은 기본 유형 만 메시지에 사용할 수 있다는 단점이 있습니다. –