3

我必须在我的程序中从多个来源同步读取和处理数据,如下所示:

main
...
while(true)  {
dataSample1 = readInput1...
processData(dataSample1) 
....
dataSample2 = readInput2...
processData(dataSample2) 
}

每个 readInput 在单独的组件中实现以处理不同性质的输入(例如套接字、usb 端口等),但数据样本的格式是相同的。问题是 readInput 和 processData 都是阻塞的,所以我必须想出解决方案来多路读取“processData”的输入。这个问题是否对应于“reactor”或“proactor”模式?是否有框架可以帮助实现而不将每个“readInput”移动到单独的线程中?
谢谢...

4

1 回答 1

2

您是否能够重写/重新配置各种readInput功能以成为非阻塞的?如果没有,单独的线程(甚至可能是单独的进程)是让它们并行运行的唯一方法。如果是,那么反应器模式可以帮助您在每个输入到达时触发正确的处理。

于 2012-12-07T15:04:41.917 回答