우리가 볼 때 배우 모델 과 의사 소통 순차 처리하는 우리는 그들이 둘 다하려고 노력하는 것을 볼 동시성을 기반으로 메시지 전달 , 아직 그들은 구별된다 .
(우리 는 go-lang 의 goroutines (및 Clojure의 core.async ) 에서 CSP 모델의 구현 과 Scala의 Akka 툴킷 에서 Actor 모델을 볼 수 있습니다 )
액터 모델과 CSP의 차이점에 대한 간단한 목록을 얻으려고합니다. 지금까지 나는 :
- 액터 메시지 전달이 비동기 적이며 CSP 메시지 전달이 동기적임
- 액터는 컴포지션 가능 하며 CSP는 필요하지 않습니다.
- 배우들은 항상 이 무제한의 비 결정론 , CSP가 수도 경계 또는 무제한의 비 결정론을
- 액터에는 가변 토폴로지가 있고 CSP에는 고정 토폴로지가 있습니다
- 배우는 지역 의 원칙을 가지고 , CSP는 지역을 가지고 있지 않습니다
- 배우가 행동을 중심으로 설계되었으므로 CSP에 반드시 필요한 것은 아닙니다.
이 올바른지? 누락 된 것이 있습니까?
가정
- 'actor model'이라고 말할 때-Scala의 Akka 프레임 워크에서 구현의 이론적 근거를 의미합니다.
중요한 점 : CSP에서 메시지 전달은 동 기적입니다. Actors에서 메시지 전달은 비동기 적입니다.
—
Dave Clarke
@hawkeye "배우"배우 모델은 무엇이라고 생각하십니까? 비공식적 인 설명 이후, 약간 다른 속성을 가진 많은 공식화가 나타났습니다.
—
Martin Berger
@Martin-도움이되었습니다. 내 가정을 업데이트했습니다. 아마도 "내가 찾는 사람"을 찾는 데 도움을 줄 수 있습니다
—
hawkeye
@hawkeye Akka 모델은 무엇을 의미합니까? 주요 전산 메커니즘 또는 분산 모니터링 / 오류 처리 프레임 워크 만?
—
Martin Berger
@MartinBerger는 중요한 계산 메커니즘
—
hawkeye