我正在尝试创建一个以不规则间隔收集数据的通用模块。一旦新数据到达,数据就会从左端到达。这可能是每秒 100 次。
在右端,我希望能够“插入”n 个侦听器,每个侦听器都有自己的固定间隔。为简化起见,假设所有时间间隔为每秒一次。
每个侦听器都会注册一个可能是异步的也可能不是异步的回调函数。
我的问题是,如果回调函数是同步的,我的“临时通道”可能会挂起。解决这个问题的最佳方法是什么?如果回调挂起,我是否应该生成一个纯粹目的是传递数据并付出代价的进程?
+-------------+ Data Out 1
=======> |Temporal Pass| ==========>
Data In +-------------+ \\ Data Out 2
++=======>
\\ Data Out n
++=======>