เมื่อเรามองไปที่นักแสดงรุ่นและการสื่อสารตามลำดับกระบวนการเราจะเห็นว่าพวกเขาทั้งสองพยายามที่จะทำเห็นพ้องด้วยขึ้นอยู่กับข้อความผ่านแต่พวกเขามีความแตกต่างกัน
(เราเห็นการใช้งานCSP Modelในgoroutinesของgo-lang (และcorejas ของ Clojure ) และ Actor Model ในชุดเครื่องมือAkka ของ Scala )
ฉันกำลังพยายามหารายการความแตกต่างง่ายๆระหว่าง Actor Model และ CSP จนถึงตอนนี้ฉันมี:
- การส่งข้อความของนักแสดงเป็นแบบอะซิงโครนัสการส่งผ่านข้อความ CSP นั้นเป็นแบบซิงโครนัส
- นักแสดงcomposable , ซีเอสพีไม่ได้ (จำเป็น)
- นักแสดงมักจะมีขอบเขตที่ไม่ใช่ขอบเขตเสมอ CSP อาจมีขอบเขตหรือไม่ จำกัด ขอบเขต
- นักแสดงมีตัวแปรโครงสร้างในขณะที่ CSP มีโครงสร้างแบบคงที่
- นักแสดงมีหลักการของท้องที่ CSP ไม่มีท้องที่
- นักแสดงได้รับการออกแบบตามพฤติกรรมของพวกเขา CSP ไม่จำเป็นต้องมีสิ่งนี้
ถูกต้องหรือไม่ มีอะไรฉันหายไปไหม
สมมติฐาน
- เมื่อฉันพูดว่า 'model model' - ฉันหมายถึงพื้นฐานทางทฤษฎีที่อยู่เบื้องหลังการใช้งานในกรอบ Akka ของ Scala