在对象更改后通知多个侦听器

时间:2011-12-17 14:41:17

标签: linux perl ipc

我正在寻找一种在我更改内存中的对象后通知多个侦听器的方法。

侦听器是Javascript / Ajax调用,知道对象的最后已知序列号。如果对象序列号相同,则应阻止调用,直到对象发生更改(来自另一个进程)。如果对象发生了变化,那么所有听众都应该被通知,以便他们可以阅读该对象。

多个听众:

  • 检查具有给定序列号的对象
  • 如果数字不同,则返回对象数据。
  • 等待对象更改。

我该怎么做? JavaScript的东西不是问题。问题是在对象更改内存后通知所有侦听器。

我的服务器环境perl / linux。我想我已经阅读了所有的IPC :: *内容,如IPC::SysV(只有内存)或 IPC::Semaphore(如果解锁的资源没有等待)或IPC :: Msg(仅1:1通信,而不是1:m)。

我自己的一些想法:我知道每个听众都可以注册到对象/数据,如果数据发生变化,每个听众都可以得到通知,但这对我来说似乎是一个很大的开销。对象必须包含有效代码才能通知侦听器。

我更喜欢更像KISS的方法,没有代码附加到对象数据。

0 个答案:

没有答案