试图找出一种设计模式

时间:2012-07-07 23:00:15

标签: multithreading design-patterns

我目前正在处理一段使用非常有趣的设计模式的继承代码。

代码被分成许多对象。我不确定术语对象是否适用,因为它是C代码,但它是最好的类比。每个对象都有特定于对象的数据,一个线程和一个消息队列。所有对象主要通过将预定义的消息放置到彼此的队列上来进行通信。主要想法似乎是每个对象的数据只能由一个线程访问。在做了一些研究之后,我发现一些工业自动化应用程序是用这种方式编写的(即ProfiNET堆栈和一些EIP实现)。

您知道这个模式是否有名称,或者它是否在文献中描述?面向模式的软件架构" Schidt的书,Stal等人没有提到它。

非常感谢。

3 个答案:

答案 0 :(得分:2)

这听起来与Actor model有些相关。

答案 1 :(得分:0)

可能是我,但除了生产者消费者与你所描述的内容中使用的互斥之外,还有其他任何模式吗?

答案 2 :(得分:0)

查看Communicating Sequential Processes (CSP)

  

CSP允许根据组件流程描述系统   独立运作,互相交流   通过消息传递通信

它实际上是Go language基于communicating between goroutines(并发)的核心设计概念之一。

相关问题