我必须从多个来源同步读取和处理程序中的数据,如下所示:
main
...
while(true) {
dataSample1 = readInput1...
processData(dataSample1)
....
dataSample2 = readInput2...
processData(dataSample2)
}
每个readInput在单独的组件中实现以处理输入的不同性质(例如套接字,usb端口等),但是数据样本的格式相同。问题是readInput和processData都被阻塞,因此我必须想出解决方案以多路读取“processData”的输入。这个问题对应于“反应堆”或“反应堆”模式吗?是否有框架可以帮助实现而无需将每个“readInput”移动到单独的线程中?
谢谢...
最佳答案
您是否可以重写/重新配置各种readInput
函数以使其变为非阻塞状态?如果没有,那么单独的线程(甚至可能是单独的进程)是使它们并行运行的唯一方法。如果是,则反应堆模式可以帮助您在每个输入到达时触发正确的处理。