假设我们有一个不会产生任何副作用的通用任务。假设我们有一个结果缓存(或memoization)机制,它避免为以前看到过的输入执行我们的任务。
让我们假设这种缓存机制可能耗费时间,我们希望避免浪费时间缓存未命中。
到目前为止,我的解决方案是:只要系统收到输入数据,就执行两个不同的进程。第一个是原始任务,因为没有缓存机制就会发生。第二个查看缓存结构。第一个终止的过程会杀死另一个。这在资源方面显然更昂贵,但我们保证我们的系统具有这种缓存机制最昂贵的原始。
所以,我的问题是:是否有可能在C ++中实现这个“杀死较慢的进程”,在任何时候给予任何任务(没有副作用)?
PS:为了保证最佳性能,这两个过程可以分布在两台不同的机器上。