C++ 为处理对象设计管道
最近我在一次采访中被问到一个简单的设计问题: 假设有一些数据需要以流水线方式进行处理以提高效率。假设有五个任务要完成,每个任务的输出作为下一个任务的输入,一旦一个对象的任务完成,它就可以处理下一个任务 如何设计该系统?下一个任务将如何触发?如何将一个任务中的数据提供给下一个任务C++ 为处理对象设计管道,c++,pipeline,C++,Pipeline,最近我在一次采访中被问到一个简单的设计问题: 假设有一些数据需要以流水线方式进行处理以提高效率。假设有五个任务要完成,每个任务的输出作为下一个任务的输入,一旦一个对象的任务完成,它就可以处理下一个任务 如何设计该系统?下一个任务将如何触发?如何将一个任务中的数据提供给下一个任务 有什么想法吗?这是在C++访谈中被问到的。因此,面向C++的设计将是很好的。p> 这是一个面试问题,所以他们想让你大声思考,展示你的经验深度。没有一个“设计”或“答案”,因此你应该尽可能多地考虑不同的情况 你可以花一整本
有什么想法吗?这是在C++访谈中被问到的。因此,面向C++的设计将是很好的。p> 这是一个面试问题,所以他们想让你大声思考,展示你的经验深度。没有一个“设计”或“答案”,因此你应该尽可能多地考虑不同的情况 你可以花一整本书在管道设计上,所以我不会(也不能)列出你想要注意的所有方面,但这里有一些常见的方面:
- 注意瓶颈
- 在管道任务之间具有公共协议
- 管道能否拒绝输入,甚至向后传递输入,您如何处理
- 它需要大量的类型转换吗
- 你能将它并行化,甚至在第一个项目完成之前就向管道中提供更多数据吗
- 注意瓶颈
- 在管道任务之间具有公共协议
- 管道能否拒绝输入,甚至向后传递输入,您如何处理
- 它需要大量的类型转换吗
- 你能将它并行化,甚至在第一个项目完成之前就向管道中提供更多数据吗