我想确认这个面试问题基本上是不可能的:
该项目的目标是创建设备的实现 可以将文件写入目录然后设计写入 一组设备的调度系统。写调度程序系统 应该包含一个名为WriteScheduler的接口和至少两个接口 它的具体实现。第一个应该是一个公平的循环赛 调度器和第二个应该是使用一些的写调度程序 挂起写入,总写入和写入的总字节数的组合 以某种方式优化写入。该项目的所有代码都应该 是线程安全的。
鉴于未指定的接口,如何仅使用该数据优化调度程序?
答案 0 :(得分:1)
它说“......以某种方式优化写入 ”。
因此,您尝试优化 的内容显然非常适合您。就此而言,您尝试的优化高度(或根本没有)成功可能甚至不是特别重要。
如果我不得不猜测,我会说他们可能最基本的想法是你可以定义一个抽象的接口,然后编写一些不同的接口,至少有一些半有意义的方式(但仍符合界面规范)。
答案 1 :(得分:1)
我认为标签c ++是个错误?
好的,主题:
我可以想象一下您提供给我们的界面......
IDevice:这个界面甚至可以是空接口
设备:
现在IWriteScheduler:
设备行为:
WriteScheduler:
其他调度方法只需继承WriteScheduler,覆盖:
虚拟任务WriteAsync(IDevice设备,int size,Action writing_task);
任务链接允许在写入操作和更多技巧上产生延迟。
对于基于pending_writes,total_writes和total_bytes的调度,有很多方法可以调度和构建这样的数据结构可以处理的特定规则:
我希望它有用,我提供了有关界面实施的分析以及调度方案的一些想法......
<强> / IP / 强>