액터 모델과 커뮤니 케이 팅 순차적 프로세스 (CSP)의 차이점


16

우리가 볼 때 배우 모델의사 소통 순차 처리하는 우리는 그들이 둘 다하려고 노력하는 것을 볼 동시성을 기반으로 메시지 전달 , 아직 그들은 구별된다 .

(우리 는 go-langgoroutines (및 Clojure의 core.async ) 에서 CSP 모델의 구현 과 Scala의 Akka 툴킷 에서 Actor 모델을 볼 수 있습니다 )

액터 모델과 CSP의 차이점에 대한 간단한 목록을 얻으려고합니다. 지금까지 나는 :

이 올바른지? 누락 된 것이 있습니까?

가정

  • 'actor model'이라고 말할 때-Scala의 Akka 프레임 워크에서 구현의 이론적 근거를 의미합니다.

중요한 점 : CSP에서 메시지 전달은 동 기적입니다. Actors에서 메시지 전달은 비동기 적입니다.
Dave Clarke

@hawkeye "배우"배우 모델은 무엇이라고 생각하십니까? 비공식적 인 설명 이후, 약간 다른 속성을 가진 많은 공식화가 나타났습니다.
Martin Berger

@Martin-도움이되었습니다. 내 가정을 업데이트했습니다. 아마도 "내가 찾는 사람"을 찾는 데 도움을 줄 수 있습니다
hawkeye

@hawkeye Akka 모델은 무엇을 의미합니까? 주요 전산 메커니즘 또는 분산 모니터링 / 오류 처리 프레임 워크 만?
Martin Berger

@MartinBerger는 중요한 계산 메커니즘
hawkeye

답변:


6

Erlang의 작동 방식은 다음과 같습니다. 나는 Akka가 매우 유사하다고 생각합니다.

각 프로세스에는 단일 사서함이 있습니다. 메시지는 발신자가 수신자의 우편함에 넣고 패턴 일치를 사용하여 수신자가 가져옵니다. 이 일치 프로세스는 사서함에서 가장 오래된 메시지가 일치하지 않을 수 있지만 더 어린 메시지는 일치한다는 의미에서 메시지 순서를 변경할 수 있습니다. 이 경우 더 어린 것이 먼저 소비됩니다. 그 외에는 메시지 순서가 유지됩니다.

ππ

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.