一个多线程,基于事件的异步“框架”

时间:2010-11-23 22:29:24

标签: multithreading frameworks asynchronous event-handling

我最近一直在思考这样一个“框架”,并想知道这样的事情是否已经存在,或者它是否是一个完全可怕的想法。而且我知道Stack Overflow的好人显然会知道答案。

我正在设想一个“框架”或语言来构建GUI应用程序或服务器,其中一个人可以创建一个Master,并从该master构建整个应用程序。

这个Master将完全由事件驱动,它默认包含一个onSetup事件来按顺序加载所有内容,然后t将被动地等待任何类型的事件(即按钮单击,套接字上的事件)等等。)

这个Master将是一个规则集合,说明Slave要运行什么(以及如何解释它的返回数据),具体取决于它捕获的事件。所有这些从属(基本上是函数)将被分叉以在不同的线程上运行并且将是完全异步的,并且只有在明确声明时,Slave调用才会保留Master的其余部分。

在我看来,这可能是开发性能驱动的GUI或服务器的简单方法,而且非常模块化。此外,所有这些不同的Slaves都可以轻松地在线分发和共享,从而大大提高编码器的效率。

这样的语言或框架是否已经存在,或者这种概念根本没有意义,请让我知道你对它的看法。

由于

2 个答案:

答案 0 :(得分:0)

编写您需要的软件通常更容易。框架可能很有用,但很难做得很好。你的建议听起来好像只会迫使你以特定的方式解决问题,无论这是否适合。你还没有真正详细介绍过。你会怎么等待东西完成呢?你怎么告诉奴隶停止因为你改变了主意(错误条件)等等。 我不知道 - 取决于您的域名是否有大量可以解决的问题。

答案 1 :(得分:0)

在我看来,你所描述的内容听起来很像Java中的JMS这样的消息传递系统。您可以将事件传递到主队列,并为如何订阅此队列/主题开发一组规则,并根据事件本身采取措施。你所描述的“框架”肯定存在 - 看看JBoss的http://jboss.org/hornetq。它将为您提供所需的所有通信和异步处理。