我必须在我的程序中同步读取和处理来自几个来源的数据,如下所示:
main
...
while(true) {
dataSample1 = readInput1...
processData(dataSample1)
....
dataSample2 = readInput2...
processData(dataSample2)
}每个readInput在单独的组件中实现,以处理不同性质的输入(例如,套接字、usb端口等),但数据样本的格式是相同的。问题是readInput和processData都是阻塞的,所以我必须想出一个解决方案来多路读取"processData“的输入。这个问题对应的是“反应器”模式还是"proactor“模式?是否有框架可以在不将每个"readInput“移动到单独的线程中的情况下帮助实现?
谢谢..。
发布于 2012-12-07 23:04:42
您是否能够重写/重新配置各种readInput函数,使其成为非阻塞的?否则,单独的线程(甚至可能是单独的进程)是让它们并行运行的唯一方法。如果是,那么反应器模式可以帮助您在每个输入到达时触发正确的处理。
https://stackoverflow.com/questions/13765564
复制相似问题