ความแตกต่างระหว่างโมเดล Actor และกระบวนการสื่อสารต่อเนื่อง (CSP)


16

เมื่อเรามองไปที่นักแสดงรุ่นและการสื่อสารตามลำดับกระบวนการเราจะเห็นว่าพวกเขาทั้งสองพยายามที่จะทำเห็นพ้องด้วยขึ้นอยู่กับข้อความผ่านแต่พวกเขามีความแตกต่างกัน

(เราเห็นการใช้งานCSP Modelในgoroutinesของgo-lang (และcorejas ของ Clojure ) และ Actor Model ในชุดเครื่องมือAkka ของ Scala )

ฉันกำลังพยายามหารายการความแตกต่างง่ายๆระหว่าง Actor Model และ CSP จนถึงตอนนี้ฉันมี:

ถูกต้องหรือไม่ มีอะไรฉันหายไปไหม

สมมติฐาน

  • เมื่อฉันพูดว่า 'model model' - ฉันหมายถึงพื้นฐานทางทฤษฎีที่อยู่เบื้องหลังการใช้งานในกรอบ Akka ของ Scala

จุดใหญ่: ในการส่งข้อความ CSP นั้นเป็นแบบซิงโครนัส ในการส่งข้อความของนักแสดงจะไม่ตรงกัน
Dave Clarke

@hawkeye สิ่งใดที่คุณคิดว่าเป็น "นางแบบ" ดารา? เนื่องจากมีการอธิบายอย่างไม่เป็นทางการมีการจัดเรียงหลายแบบที่มีคุณสมบัติแตกต่างกันบ้าง
Martin Berger

@ Martin - มันมีประโยชน์ ฉันได้ปรับปรุงสมมติฐานของฉัน บางทีคุณอาจจะสามารถช่วยฉันหา "หนึ่งฉันกำลังมองหา"
ฮ็อค

@hawkeye คุณหมายถึงอะไรโดยรุ่น Akka? มีเพียงกลไกการคำนวณที่สำคัญเท่านั้นหรือยังเป็นเฟรมเวิร์กการมอนิเตอร์ / การจัดการข้อผิดพลาดแบบกระจาย?
Martin Berger

@MartinBerger เพียงกลไกการคำนวณที่สำคัญ
ฮ็อค

คำตอบ:


6

นี่คือวิธีที่ฉันคิดว่า Erlang ทำงานได้ ฉันเชื่อว่า Akka นั้นคล้ายกันมาก

แต่ละกระบวนการมีกล่องจดหมายเดียว ข้อความจะถูกใส่ลงในกล่องจดหมายของผู้รับโดยผู้ส่งและดึงข้อมูลโดยผู้รับโดยใช้การจับคู่รูปแบบ กระบวนการจับคู่นี้สามารถเปลี่ยนการเรียงลำดับข้อความในแง่ที่ว่าข้อความที่เก่าที่สุดในกล่องจดหมายอาจไม่ตรงกัน แต่มีขนาดเล็กกว่า ในกรณีนี้เด็กอายุน้อยกว่าจะถูกบริโภคครั้งแรก นอกเหนือจากนั้นการสั่งซื้อข้อความจะถูกเก็บรักษาไว้

ππ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.