所以,最近我一直在讀了很多文章關於如何編程的同時是很難的,並與共享狀態併發編程如何幾乎是不可能的。所以像Erlang這樣的語言(我認爲這是對的,如果不是問題仍然有意義)使用Actor模型來實現併發性並且在線程之間沒有共享狀態。現在,在編寫併發系統的時候,我並沒有發現併發性很難 - 但總的來說,我幾乎可以將任何問題都納入生產者/消費者範例,並且沒有太多(如果有的話)共享狀態。雖然這是正確的?線程之間的消息隊列是否實際共享狀態?或者是併發編程的生產者/消費者模型真的是Actor模型的具體例子(這是我真正的問題)。思考?生產者/消費者模型是否等於演員?
6
A
回答
4
技術上的共享消息表示總體應用程序的狀態,但只有當生產者和消費者本身無狀態(否則它們只是表示消息共享介質/ a的狀態(多個))。生產者/消費者模型並不是每個生產者和消費者都是演員模型的例子。生產者(也可能是消費者,無論是來自相同的共享消息隊列還是來自外部消息源)都會按照他們所做的操作並吐出一些排隊等待的消息。隊列本身可以被認爲是演員,儘管是被動的,因爲它可以接收/保存消息,並且可以分發它們(或者等待它們被拿走)。消費者是他們從共享隊列中接收/接收消息的角色,並根據這些消息開展工作。
所以基本上我的回答是,生產者/消費者模式是不是演員模型的例子,而是在一個共享的環境中工作,演員的集合的一個例子。
相關問題
- 1. 事件生產者消費者模型
- 2. Java生產者 - 消費者:生產者不「通知()」消費者
- 3. 生產者/消費者
- 4. 生產者消費者
- 5. POSIX生產者 - 消費者
- 6. Clojure生產者消費者
- 7. LinkedBlockingQueue - 生產者/消費者
- 8. Scala生產者 - 消費者
- 9. 生產者,消費者POSIX
- 10. 實現生產者消費者模式
- 11. C#生產者/消費者模式
- 12. 生產者/消費者模式與批生產者
- 13. 生產消費者
- 14. 生產者 - 消費者多個生產者多個隊列單個消費者
- 15. InOut是否將消息反饋給消費者或生產者?
- 16. 消費者生產者多線程消費者不會消逝
- 17. 生產者消費者請求取消
- 18. 一個生產者,兩位消費者作用於由生產者生產
- 19. Scala的Java生產者和消費者模型
- 20. 生產者/消費者模型和併發內核
- 21. 生產者消費者模型如情景不起作用
- 22. 生產者/消費者模型中的SegFault
- 23. 生產者 - 消費者模型的最終條件
- 24. 使用OpenMP的消費者生產者模型
- 25. 消費者過濾的生產者 - 消費者阻塞隊列
- 26. 生產者/消費者線程中的油門消費者
- 27. 同步生產者,消費者和生產者隊列
- 28. 生產者/消費者 - 生產者使用高CPU
- 29. 在生產者/消費者模式中,我如何殺死消費者線程?
- 30. 生產者消費終止
有什麼本質上的演員典範,說你不能有多個演員? – Gandalf
我看到它的方式,對演員模式是比較有代表性的一個實體,而生產者/消費者模式是比較有代表性的一個系統。 – yoozer8
雖然,我想你可以考慮生產者/消費者系統中的演員,如果它存在於與其他實體的大環境下,可以在更大的系統的其他實體交互。 – yoozer8